HOUSTON — The National League's youngest team gave baseball's oldest player fits.
J.D. Martinez homered and drove in three runs and the Houston Astros, beat 49-year-old Jamie Moyer and the Colorado Rockies 7-3 Saturday night.
Jordan Schafer took it deep leading off for the Astros and Martinez's two-run shot in the fourth made it 3-0.
With gray stubble covering his chin and hair of the same color peeking out the edge of his cap, Moyer (0-1) become the oldest player to appear in a game since 1980, when 54-year-old Minnie Minoso played in a game for the White Sox, according to statistics provided by the Rockies from the Elias Sports bureau.
The Astros have seven players on their roster that weren't born when Moyer made his major league debut on June 16, 1986. Houston starter Lucas Harrell celebrated his first birthday just before Moyer's first major league game.
Harrell (1-0) yielded three hits in seven scoreless innings for the win.
Moyer allowed five hits and three runs in five innings while wearing the stirrup socks that were popular when he started his career but have long since fallen out of favor and jersey No. 50, the age he will turn in November. It was his first start since July 20, 2010, for Philadelphia after missing all of last season following Tommy John surgery.
Moyer is the second-oldest pitcher to start a major league game behind Satchel Paige, who did it at 59 in 1965. He's the fifth man since 1965 to play a game after his 49th birthday, and the first since Julio Franco appeared in a game for Atlanta in September 2007.
He became the oldest starting pitcher to make an opening-day roster in major league history by earning a spot in the rotation after signing a minor league contract with Colorado. He'll have to wait until his next start to try to become the oldest pitcher to get a win. Jack Quinn, who was 49 years, 70 days old when he won a game for the Dodgers in 1932, currently holds that record.
Moyer's tough night wasn't helped by Colorado's fielding. A night after the Astros committed four errors, the Rockies were the ones making mistakes.
They made two on one play in the fourth inning. Brian Bixler got to second base when Chris Nelson overthrew first. Marco Scutaro then hit Bixler with his throw to second allowing him to take third.
Martinez then homered, extending Houston's lead to 3-0. A second error by Scutaro, when he couldn't handle a grounder allowed Chris Johnson to reach first base.
Johnson had two doubles and scored twice for the Astros.
Marwin Gonzalez got his first major league hit with a double in the fifth inning. Harell's bunt single that followed was also his first in the majors. Schafer's sacrifice sent Gonzalez home and left Houston ahead 4-0. Bixler singled after that, but Martinez grounded into a double play to limit the damage.
Moyer was replaced by Tyler Chatwood for the sixth inning. Chatwood allowed four hits and two runs in two innings.
Johnson doubled and scored on a single by Chris Snyder in the sixth inning.
Colorado's Carlos Gonzalez doubled with one out in the fourth before advancing to third on a wild pitch. He was thrown out at home when Troy Tulowitzki reached on a fielder's choice. Tulowitzki was caught trying to steal second to end the inning.
The Rockies didn't score until a solo homer by Michael Cuddyer off Brandon Lyon in the eighth inning. Tulowitzki added a run with an RBI triple in the ninth and scored on a groundout by Todd Helton.
NOTES: Schafer's home run was his first leadoff homer. ... The Astros improved to 28-12 against the Rockies at Minute Maid Park, their second-best record against any NL team. ... Houston's Rhiner Cruz struck out Cuddyer for the game's last out in his major league debut. ... These teams wrap up the three-game series on Sunday when Houston's Bud Norris faces Colorado's Juan Nicasio.