LOS ANGELES -- The Dodgers were so good in April they won in spite of themselves.

With a patchwork starting rotation, they finished the month 15-8 after opening the longest homestand of the year with an 8-5 win over the Padres Thursday night. The Dodgers are 7-0 at home, the best home start in Los Angeles Dodgers history and third best in franchise history.

But this one they did the hard way.

A day after Eric Stults couldn't get out of the third inning, starting pitcher James McDonald couldn't get out of the second inning, which probably will get him out of the starting rotation.

But back-to-back home runs by Orlando Hudson and Manny Ramirez, two spectacular Matt Kemp catches and four innings of scoreless relief from newly arrived Jeff Weaver restored order and kept the game winnable until the offense torched the Padres' bullpen for four runs in the seventh and eighth innings.

"We know we've got the firepower. There's no game we're out of," manager Joe Torre said. "The fact is, if we get any kind of pitching to get to the guys, now that we've got [Cory] Wade back, we're in every game."

But not the kind of pitching they got from McDonald, who seems headed to the bullpen -- if not Triple-A Albuquerque -- especially after the way Weaver stepped in to restore order in his first day back in the big leagues since 2007.

"When I took him out of the game, I reminded him how well he pitched on this mound in October," Torre said of McDonald. "I'm concerned to the point I want to get him comfortable."

Ramirez got the Dodgers on the board in the first inning with a two-out double, scoring on Andre Ethier's single to left. McDonald gave back three runs in the second inning. He walked four, one of those with the bases loaded, had a wild pitch and allowed an RBI single to opposing rookie pitcher Josh Geer.

"Everybody saw what happened. When you're not throwing strikes, you're not going to succeed," said McDonald, who thought he found a mechanical flaw after his previous start of five innings. "I barely started working on it, but that's no excuse. I still should throw strikes. I'm not giving the team a solid outing like I should be."

Torre was asked if McDonald would make his next start on Tuesday night.

"I don't know. I haven't thought about that," he said. "I'll try to figure out so James is in a position so he can help us. Right now, he's putting pressure on himself and that's different than the pressure of a game."

After his fourth walk, McDonald was replaced by Weaver, whose return to the Dodgers began with the fifth walk of the inning. Matt Kemp made a difficult running catch in the gap on Jody Gerut's line drive to keep the Padres from scoring three more runs. Kemp saved another run with a diving catch to rob Kevin Kouzmanoff in the fifth inning.

"Matt Kemp played great defense or it could have been different," Weaver said. "They told me to just throw it in there and let the defense make the plays. That's what happened."

Hudson got the Dodgers even in the third, following Rafael Furcal's one-out double with his third homer, and Ramirez followed with his fifth (532nd of his career). But Will Ohman took over for Weaver in the sixth and allowed Adrian Gonzalez's tying RBI double in the seventh. The Padres took the lead later that inning on an RBI grounder by Kouzmanoff against Ronald Belisario, who picked up his first Major League win.

The Dodgers tied it in the bottom of the seventh on Mark Loretta's RBI pinch-hit single and regained the lead on a freak play when it appeared Hudson's single to right loaded the bases. Casey Blake was held at third base, but right fielder Brian Giles' throw bounced past catcher Nick Hundley and pitcher Luke Gregerson, who was backing up, with Blake scoring on the catcher's error.

Wade, activated from the disabled list before the game, pitched the eighth inning and Jonathan Broxton struck out the side in the ninth for his seventh save.