KISSIMMEE, Fla. -- Carlos Lee had a two-run double in the first inning and a three-run homer in the second inning off Mets starter Mike Pelfrey to send the Astros to a 9-5 win at Osceola County Stadium and snap a three-game losing streak Sunday afternoon.

Lee, who led the team with 94 RBIs last season but had none in 19 spring at-bats prior to Sunday, shot a double to right in the first inning to score Jordan Schafer and Travis Buck, and then clubbed a 1-0 pitch high over the left-field wall in the second to put the Astros ahead, 7-4.

Pelfrey's spring struggles continued. He pitched 2 2/3 innings and allowed eight hits, eight earned runs and four walks while striking out four batters. In three starts this spring, Pelfrey has allowed 16 earned runs in 9 2/3 innings.

Schafer walked twice and scored two runs before leaving the game in the third after he appeared to injure his wrist or hand making a running, diving catch.

Buck got the start in right field for the Astros and doubled and singled ahead of Lee, scoring a pair of runs. Jed Lowrie knocked a two-run double in the second inning, and Jimmy Paredes scored on a Pelfrey wild pitch in the third to make it 8-4.

Lowrie added a homer to lead off the sixth, and Buck followed with his third hit and second double of the afternoon.

Astros starter Livan Hernandez worked three-plus innings, allowing five hits, four runs and three walks in his fourth start of the spring.

The Mets' early offense came from Ronny Cedeno, who clubbed a solo homer in the first, and Vinny Rottino and Mike Baxter, who knocked RBI singles in the second. Pelfrey contributed an RBI groundout in the frame.

Up next: Right-hander Kyle Weiland, who has allowed no runs and three hits in eight innings this spring, makes the start for the Astros when they travel to Jupiter, Fla., to meet the Marlins at 12:05 p.m. CT. Weiland threw four hitless innings Monday against the Yankees in Tampa and is in the thick of the race for the fifth-starter's spot.