PHILADELPHIA -- All that extra batting practice paid off for Wilmer Flores.
Flores hit a grand slam and drove in a career-high six runs, Bartolo Colon threw seven-plus sharp innings and the New York Mets beat the Philadelphia Phillies 11-2 on Monday night in a makeup from an April rainout.
"It felt good," Flores said. "Been struggling the last couple games, and I didn't feel good my first two at-bats, but as the game was going I made the adjustment, so I put a good swing on it. I haven't been playing that much, so I've just been taking extra batting practice. That helped."
After playing 39 innings in the three previous games, the teams finally didn't go extras. The Mets took four of five from the Phillies and are 9-1 in Citizens Bank Park, dating to last season.
Colon (5-5) allowed two runs and six hits to win his third consecutive decision. The 41-year-old righty has a 1.61 ERA in his last three outings.
"He knows when he has to put a little something on it," Mets manager Terry Collins said. "He's the master of taking stuff, taking speed off the ball, getting it to sink, getting it to move. When he needs it, there's still plenty there."
The last-place Phillies went 4-7 on a season-long 11-game homestand. They're a season-worst seven games under .500 and barely resemble the team that won five consecutive NL East titles from 2007-11.
"We didn't play that well this homestand," Chase Utley said. "Nothing we can do about it now. We have to go on the road and win games."
Roberto Hernandez (2-3) failed to pitch six innings for the sixth time in 10 starts. He allowed five runs -- four earned -- and five hits in 5 1/3 innings.
The Mets chased Hernandez in the sixth. Matt den Dekker and Daniel Murphy hit back-to-back singles to start the inning. David Wright drove them both in with a shot off the wall in center. After a one-out walk to Abreu, Hernandez was replaced by Mario Hollands.
Duda hit a grounder to second base that should've been an inning-ending double play, but Utley booted it for an error. Flores then looped a two-run double down the right-field line for a 5-0 lead.
The Mets blew it open with six runs in the ninth off Jake Diekman and Phillippe Aumont capped by Flores' hitting a grand slam, his second career homer in 145 at-bats.
"I just want to prove to them that I can do the job," Flores said. "I know I'm good and I can do this."
Den Dekker, called up from Triple-A Las Vegas a day after being sent down, robbed Ryan Howard of his third homer in three games. He jumped above the short wall in center and grabbed Howard's drive in the second.
Den Dekker saved another run in the third when he threw out Reid Brignac trying to score from second on Ben Revere's single. Brignac hadn't even reached third base when den Dekker fielded the ball in medium center, but third-base coach Pete Mackanin inexplicably waived him home.
Howard's RBI groundout in the sixth ended Colon's scoreless innings streak at 16 1/3. Revere scored on Jeurys Familia's wild pitch in the eighth to cut it to 5-2.
The Mets placed CF Juan Lagares on the 15-day DL with a strained right intercostal muscle. Den Dekker replaced him. ... Phillies ace Cliff Lee, out with an elbow strain, hopes to start a throwing program during Philadelphia's upcoming road trip. ... The Phillies are 12-19 at home; 12-12 on the road. The Phillies start a three-game series at Washington on Tuesday. David Buchanan (1-1, 3.86) makes his third career start filling in for Lee. Jordan Zimmermann (3-2, 4.07) goes for the Nationals. ... The Mets go home for a three-game series vs. the Chicago Cubs. Zack Wheeler (2-5, 4.31) faces Jake Arrieta (1-1, 3.20) on Tuesday night.