Chris Carpenter (9-3) hurled seven-plus frames of one-run ball, scattering nine hits and two walks for St. Louis, which had lost five of seven coming in.
"I could have been better, but I'll take a win any way I can get it," Carpenter said. "My command was kind of sloppy tonight, but I was able to make good pitches when I had to."
Rick Ankiel had two hits, two runs scored and an RBI for the victors.
Randy Wolf (5-5) took the loss despite allowing only two runs on seven hits and two walks in six frames for Los Angeles, which was coming off a 6-4 homestand.
The Dodgers grounded into four double plays and left 11 on base. Rafael Furcal went 3-for-4 and knocked in the club's only run in the setback.
A pair of mid-season acquisitions teamed to score a run in the home first, as Matt Holliday recorded a two-out double to plate DeRosa, who was hit by a pitch earlier in the frame.
Julio Lugo's RBI single in the second was countered by Furcal's sacrifice fly in the third.
Carpenter worked out of trouble throughout the game, highlighted by a strikeout of Wolf with the bases loaded in the fourth and a double-play groundout off the bat of Manny Ramirez with two on and no outs in the fifth.
"[Carpenter's] the kind of pitcher that can get a ground ball. We had him on the ropes a couple of times, even with good counts, and he still managed to make a good pitch," Dodgers manager Joe Torre said.
The Cards padded their lead in the seventh, with DeRosa sparking the rally by taking James McDonald's first pitch of the frame over the center field wall. Ankiel singled later in the inning to bring home Holliday, who reached on Casey Blake's throwing error. Ryan capped the inning with a two-out, two-run double off Guillermo Mota to the right-field gap.
The Dodgers loaded with bases in the eighth, but with two outs St. Louis manager Tony LaRussa opted for closer Ryan Franklin, who got Matt Kemp to ground into an inning-ending force out.
Franklin stayed in the game and hurled a scoreless ninth to pick up his 23rd save of the season.
Carpenter is 4-0 in his last five starts and is 4-0 lifetime against LA...Each team had 11 hits...Hong-Chih Kuo, who was activated off the 60-day disabled list earlier Monday, tossed a scoreless inning of relief for LA.