CHICAGO -- Matt Garza got enough run support to pull out a rare home win.
|More on Reds at Cubs|
"Garza was fantastic," Cubs manager Mike Quade said. "He pitched around a couple of mistakes. He hasn't had many leads and he continues to pitch well."
Garza (8-10) gave up six hits and three runs -- one earned -- while striking out eight and walking three to win for just the second time at home since June 27. He had to work around two errors, which increased the Cubs' league-worst total to 118.
"The toughest part is trying to control my own emotions," Garza said. "I'm not going to worry about anybody else."
Garza came in with just four wins in 14 starts at Wrigley Field despite a 2.76 home ERA.
"I think [Garza is] a horse. I do," Quade said. "His ERA has been fine. I think he's capable of better. I think we'll see better."
Carlos Marmol finished up for his 32nd save, setting down the Reds in order in his first appearance since allowing a two-out grand slam to Pittsburgh's Derrek Lee on Saturday during his NL-worst ninth blown save.
"I know it's tough for everybody blowing some saves," Marmol said. "Tomorrow is a new day. Who knows what's going to happen tomorrow?"
Ramirez had his two-run single in the fifth, walked twice and scored a run. Starlin Castro added a single, walk and two runs, which turned to be enough for Garza.
Dontrelle Willis (0-5) allowed six hits and four runs over seven innings, striking out eight and walking five. Drew Stubbs singled, walked and scored a run, Yonder Alonso had two singles, a run and an RBI.
Willis made his 200th career start looking for his first big-league win since June 5, 2010. He has won just three of his last 38 starts, going back to 2008.
"He was throwing the ball great, especially in the early innings," Reds manager Dusty Baker said.
The Reds haven't scored more than three runs for Willis in any of his 11 starts this season.
"It's frustrating because I've pitched worse and won," Willis said. "But at the same time, I like the way me and [rookie catcher Devin] Mesoraco worked back there today. I'm going to continue to battle and fight and hopefully I'll get a win and then they'll come in bunches.
With a game-time temperature of 62 degrees and a 21 mph wind howling in from center field, it was a day made for the pitchers.
Stubbs walked and scored on Alonso's single in the first to get the Reds on the scoreboard first.
Willis retired the first nine Cubs in order, three by strikeout. He threw just 29 pitches in his first three innings, 24 for strikes.
The left-hander lost track of the strike zone in the fourth, walking the bases full. Soriano tied the score with a first-pitch single to left but Willis recovered to leave the bases loaded.
Willis got two quick outs in the fifth, but five straight Cubs hitters reached as they scored three runs. Castro singled with two outs. Willis could have escaped the inning, but Alonso couldn't track down Reed Johnson's high fly ball into the swirling wind in left. The ball stuck in the ivy, sending Castro back to third. Ramirez then lined a single to left, putting the Cubs up 3-1.
Two batters later, Willis threw a wild pitch with the bases loaded, driving in Ramirez and capping the Cubs' rally.
The Reds cut the lead to two when Alonso scored an unearned run on a Mesoraco's groundout in the seventh, the rookie's first career RBI. Cincinnati pulled within a run when Castro misplayed Joey Votto's grounder in the eighth, allowing Brandon Phillips to score.
The Cubs activated RHP Andrew Cashner (strained right rotator cuff) from the 60-day disabled list. Cashner hasn't pitched in the majors since suffering the injury on April 5, his only outing of the season. Mesoraco made his first big-league start as Willis' battery mate. The pair worked together at Triple-A Louisville, where Willis went 5-2 earlier this season. The area around Bronson Arroyo's left knee was wrapped and the righty walked with a slight limp before Monday's game, but Baker said he expected Arroyo to make his next start. Arroyo was hit in the fleshy area above the knee by a Rafael Furcal liner drive on Sunday. Mike Leake starts on Tuesday for Cincinnati against the Cubs' Rodrigo Lopez. Leake leads the Reds with 11 wins on the season.