Updated

James McDonald pitched seven sharp innings, Garrett Jones and Pedro Alvarez each drove in three runs and the Pittsburgh Pirates snapped a seven-game skid with a 7-1 win over the Florida Marlins on Monday night.

Making his third start with the Pirates since being acquired from the Los Angeles Dodgers in a deadline day trade, McDonald (2-2) pitched more than six innings for the first time in his career. He gave up a run and three hits, striking out six and walking two in improving to 2-1 with Pittsburgh.

Andrew McCutchen hit his 10th home run and stole his 25th base for Pittsburgh, which returned from a winless six-game road trip for the third time this season.

Dan Uggla went 3 for 4 with an RBI for the Marlins, who fell three games under .500 and nine games behind in the National League wild-card race.

The Pirates got two runs in the first against Florida starter Chris Volstad — on Jones' sacrifice fly and Alvarez's single that scored Jose Tabata and Neil Walker. Volstad, a right-hander, then faced the minimum over the next four innings, retiring 10 of 11 batters at one point.

Volstad (6-9) was lifted for Taylor Tankersley in the sixth after he loaded the bases with no outs. Tankersley promptly gave up a two-run double to Jones, scoring McCutchen and Tabata.

Alvarez then followed with a single into the right-field corner, driving in Walker and Jones to make it 6-1.

Volstad gave up five runs on five hits and two walks in five-plus innings. He lost for the first time in five starts since being optioned to Triple-A for three starts last month.

McCutchen homered for only the second time in the past month, to center field leading off the seventh.

Uggla drove in Logan Morrison with a groundout in the fourth to account for the Marlins' run.

NOTES: Florida went 0 for 6 with runners in scoring position after going hitless in 27 at-bats during such situations while getting swept at Cincinnati over the weekend. ... The Pirates have had four losing streaks of at least seven games this season; seven streaks of least five consecutive losses. ... Florida rookie OF Mike Stanton, named NL player of the week early Monday, went 1 for 3 with two strikeouts and a walk. ... Pittsburgh C Chris Snyder had two hits after having only one in his previous four games combined.