The Mets, who won for the second time in six games, got more help from Baltimore, which completed a three-game sweep of the Nationals in Washington in the afternoon.
Matz (2.27 ERA) allowed 10 hits before being lifted in favor of Eric Goeddel, who earned the win. Matz struck out a career-high eight with no walks and scored a run in the third after an infield single.
Lucas Duda had RBI doubles to highlight three-run rallies in the third and the seventh as the second rally broke a 3-3 tie. Yoenis Cespedes (2-for-4) also had an RBI in each of the rallies, on a single and a sac fly.
Daniel Murphy was 3-for-5 and scored in the third and seventh. He had an RBI triple in the seventh.
Brandon Phillips was 2-for-4 with two RBI for the Reds, who scored single runs in the first, fifth, sixth and eighth. Jay Bruce homered off Hansel Robles in the eighth after Robles was warned for quick-pitching.
Jeurys Familia pitched the ninth for his 42nd save, one short of the team record set in 2001 by Armando Benitez.
The Mets play the second game of the four-game set Friday in Cincinnati (7:10 p.m., SNY). Noah Syndergaard (8-7, 3.39) faces Anthony DeSclafani (9-11, 3.79).