Duda gave New York an early lead with a two-run shot in the second inning, then capped a three-run rally in the fifth with a two-run single that carried the Mets to their fifth win in seven games.
Dillon Gee (2-2) got the victory after yielding four runs (three earned) on seven hits over seven innings. He walked two and struck out seven.
Frank Francisco earned his fifth save despite allowing two hits and a run in the ninth.
Rockies starter Guillermo Moscoso (0-1) was lit up for six runs on nine hits in a five-inning effort.
Dexter Fowler knocked a solo homer for Colorado.