Dirks homered and drove in three runs while Cabrera went 3-for-4, raising his major league-best batting average to .360, and smacked his 42nd home run of the year as the American League Central-leading Tigers won all three games of a series at Citi Field.
Ramon Santiago went 3-for-5 with an RBI while Austin Jackson, Victor Martinez and Omar Infante each contributed two hits with a run batted in for Detroit, which scored seven times in the ninth inning to turn the game into a rout.
Rick Porcello (10-7) allowed three runs on four hits over seven innings to record the decision, walking three and striking out four.
Mets starter Dillon Gee (9-9), was touched for four runs on 10 hits in a six-inning performance.
Travis d'Arnaud socked his first career homer for the Mets.