Ryan Madson is already focused on starting a new streak.
The Reds had lost eight straight against NL East-leading Philadelphia, including a three-game sweep in last year's division playoff series.
Madson, who is 9 for 9 in save chances this season, hadn't allowed a run in 13 innings before the ninth.
"It was a good run," he said. "I just have to get back out there and start a new roll. I'm already past it. Five years ago, I would've been hiding somewhere."
Bruce came in swinging a hot bat. He had four homers in the last five games and was tied for the NL lead with 12. But he struck out three times and popped out in his first four at-bats before clearing the bases against Madson (2-1).
Logan Ondrusek (1-0) retired the only batter he faced to get the win. Francisco Cordero finished for his ninth save in 10 tries.
Drew Stubbs got the Reds started with a one-out bunt single in the ninth. He advanced to second on Madson's throwing error. After Brandon Phillips lined to shortstop, Joey Votto was intentionally walked. Scott Rolen followed with an infield single as third baseman Placido Polanco made a backhanded grab to save a run.
Bruce then ripped a liner to deep right-center to knock in three and give the Reds a 6-3 lead.
It was the Reds' longest losing streak since they dropped eight in a row from July 28 to Aug. 4, 2009.
"Coming back is kind of our M.O.," Bruce said. "We're never out of a game. The experience has helped us."
Neither starter factored in the decision. Cincinnati's Johnny Cueto gave up three runs and seven hits in six innings in his fourth start. The righty opened the year on the disabled list.
Filling in for injured Joe Blanton, Vance Worley allowed two runs and six hits in five innings. He has a 1.59 ERA in three starts.
"I just wasn't able to locate," Worley said. "I was tired by the (third). I'll just try to be better for my next outing."
Trailing 3-1 in the fifth, the Reds began a rally when Cueto drew a walk. Stubbs doubled down the right-field line and Phillips sliced a two-run single to right. Phillips advanced to second on right fielder Domonic Brown's fielding error. After Votto walked, both runners advanced on Rolen's deep fly to center. But Worley struck out Bruce and Chris Heisey fouled out after Ramon Hernandez was intentionally walked.
"We missed some opportunities early and I was afraid that would come back and haunt us," Reds manager Dusty Baker said. "This was a big game for us. We really needed this one."
The Phillies went ahead 2-1 in the second. Ryan Howard led off with a double off the scoreboard in right-center. Raul Ibanez followed with a double to right-center to tie it. He advanced to third on a groundout and scored on Brown's sacrifice fly.
Ibanez singled and scored on a double by Carlos Ruiz in the fourth that gave the Phillies a 3-1 lead.
The Reds jumped ahead 1-0 on an RBI single by Rolen in the first. Votto hit a double to left with two outs and scored on Rolen's bloop hit to right.
Stubbs threw out Jimmy Rollins trying to score from second on Chase Utley's single to center in the third. Rollins, who doubled, got a bad jump off second and was out by several feet. He didn't even slide. It was Utley's first hit of the season. He returned to the lineup Monday after missing the first 46 games with a knee injury.
"We just couldn't get a hit at the right time," Phillies manager Charlie Manuel said.
NOTES: Phillies RHP Jose Contreras threw two scoreless innings at Triple-A Lehigh Valley. He's expected to come off the disabled list this week. Contreras has five saves and hasn't allowed a run this season, but he's likely to be the setup man for Madson, who is 9 for 9 in save chances. ... Since May 3, Ibanez is hitting .375 with 11 extra-base hits and 11 RBIs in 20 games. ... A crowd of 45,740 was the 163rd straight sellout at Citizens Bank Park, including postseason play. ... The Reds had lost nine straight in Philadelphia.