J.A. Happ pitched four-hit ball into the eighth inning and drove in two runs with a double in the Houston Astros' 7-1 victory over the Florida Marlins on Sunday.

Hunter Pence, Carlos Lee and Matt Downs also knocked in runs for the Astros, who finished with a season-high 16 hits, six for extra bases.

Happ (1-1) allowed four hits in 7 2-3 innings, only two after the Marlins took a 1-0 lead in the first inning. He put Houston ahead to stay in the fourth with a two-run double off Florida starter Anibal Sanchez (0-1).

Sanchez came in with a 1.54 ERA in two prior starts at Minute Maid Park, but gave up six runs on 13 hits in 4 2-3 innings. He lost for the first time in six career starts against the Astros.

Happ threw 117 pitches and looked strong after straining an oblique muscle in late March. He was shaky in his season debut in Cincinnati last week, giving up seven runs in four innings.

He got into immediate trouble on Sunday, when Omar Infante doubled to the left-field corner in the first inning, and scored on Logan Morrison's single.

Michael Bourn blooped a double down the left-field line in the bottom half of the first. Morrison couldn't make a sliding catch and came up limping. Florida manager Edwin Rodriguez trotted out to check on him, but Morrison stayed in the game.

Pence singled to left to tie it, his third RBI of the series.

Brett Wallace led off the Astros' fourth with an infield single and went to third on Humberto Quintero's two-out double to right. Happ then drove a hard grounder down the left-field line, his second hit of the game, to make it 3-1.

Angel Sanchez and Pence started the Astros' half of the fifth with singles. Sanchez scored on Lee's single to right, Houston's 11th hit. Pence scored for a 5-1 lead when Wallace grounded into a double play.

Bill Hall then tripled, and scored on Downs' double to nearly the same spot in right center. Brian Sanches relieved Anibal Sanchez, and struck out Happ to end the inning.

Happ needed only 11 pitches to retire the Marlins in order in the sixth. He reached 100 pitches in the seventh, getting Donnie Murphy on a harmless flyout to end the inning.

Plate umpire Jim Joyce ejected Florida reliever Edward Mujica in the seventh, when he hit Hall with a pitch. Hall scored on Quintero's drive off the right-field fence, but Quintero was thrown out trying to stretch the double into a triple.

Joyce ejected Astros' reliever Aneury Rodriguez in the ninth when he hit Gaby Sanchez with a pitch. Houston manager Brad Mills protested, to no avail. Jeff Fulchino got the final three outs for the Astros.

NOTES: Rodriguez is "very optimistic" that injured SS Hanley Ramirez will start Tuesday's game in Atlanta after the team's off day on Monday. Ramirez sustained a bruised left shin on Hall's takeout slide in the seventh inning of Friday's game. "He's a little sore, but he's doing fine," Rodriguez said. ... Struggling Astros 3B Chris Johnson was out of the starting lineup for the first time this season, replaced by Downs. Johnson was 1 for 8 in the first two games of the Florida series, and hitting .200 so far this year. Mills said Johnson will be back in the lineup for Monday's game against Chicago.