DENVER — Bruce Bochy can’t explain why his team is in such an offensive funk.

“We’re looking for that magic wand,” the San Francisco manager said. “We are looking for someone to get us going.”

No one stepped up Monday.

Chad Bettis held San Francisco in check by throwing a two-hitter for his first career complete game, Carlos Gonzalez hit a grand slam as part of a six-run third and the Colorado Rockies beat the slumping Giants 6-0.

Bettis (12-7) was perfect until Eduardo Nunez singled with two outs in the fifth inning. He struck out seven and walked none.

“Their guy pitched great. I’ll give him that, but at the same time we’ve been in this for a little while,” Bochy said. “It’s time for us to wake up here.”

The Giants had the best record in baseball at the All-Star break, but things have unraveled. They’ve gone a major league-worst 16-31 since then, lost their lead in the NL West and are now trying to hang on to a wild-card spot.

San Francisco intentionally walked Nolan Arenado to face Gonzalez in the third. Gonzalez lined a fastball from Matt Moore over the fence in right-center for his second grand slam of the season.

Gonzalez understood the move. Arenado is one of the top run-producers in the league and the player nicknamed Cargo is in a slump.

“They took their chances. Didn’t work,” Gonzalez said. “Good for us, bad for them.”

An erratic Moore (2-4 with Giants, 9-11 overall) allowed six runs in 2 2/3 innings — his shortest outing of the season. He walked four and threw two wild pitches.

“I have to be a ton better than that,” said Moore, who allowed his first career grand slam. “I didn’t give us a very good chance to win.”

Moore, who was acquired from Tampa Bay on July 31, had trouble with his release point in the third. He walked the first two batters of the inning, including Bettis when the pitcher tried to put down a bunt. That paved the way to the decisive inning.

Two batters after Gonzalez’s drive, Nick Hundley hit a solo homer to give the Rockies a 6-0 lead.

“There is no excuse for that third inning. I had plenty of stuff today,” Moore said.

Bettis was stellar in the best outing of his career, getting 15 groundball outs. He surrendered a leadoff double to Trevor Brown in the sixth, but worked his way out of the jam.

The 27-year-old Bettis called this his best game in terms of feel for his pitches. He fell behind leadoff hitter Denard Span 3-0 to start the game, before getting him to ground, and was in command the rest of the way.

“He could throw any pitch for a strike at any time,” Rockies manager Walt Weiss said. “That was outstanding by Chad.”

TRAINER’S ROOM

Giants: C Buster Posey received a day off after spending 13 innings behind the plate Sunday during a loss in Chicago against the Cubs. “I’ve got to keep an eye on these guys and keep them fresh,” Bochy said.

POWER STRUGGLE

Part of the problem for the Giants has been a lack of power, with just 36 homers in the second half. Some of their better long ball hitters — Brandon Crawford, Brandon Belt and Posey — have gone a combined 243 at bats without leaving the yard.

“I can’t explain it for you,” Bochy said. “Hopefully, that means we’ll hit a few from this point on.”

THIS & THAT

Lefty Ty Blach made his major league debut for the Giants in the city where he grew up. He pitched three scoreless innings. … The Giants have dropped 18 of 25 road games since the All-Star break.

UP NEXT

Giants: RHP Jeff Samardzija (11-9, 4.06 ERA) is 1-1 with a 2.30 ERA in two starts against Colorado.

Rockies: LHP Tyler Anderson (5-5, 3.43 ERA) has allowed three or less runs in 12 of his 15 starts.