Colon (9-8) retired the first 20 batters he faced until allowing a single with two outs in the seventh inning. The veteran right-hander allowed just two runs on three hits with five strikeouts and a walk.
Starter Taijuan Walker (1-2) was tagged with the loss after giving up two runs on two hits and six walks across five-plus frames in his return to the Seattle rotation.
Eric Young Jr. led off the game with a walk and stole second before racing home on Murphy's line-drive double into the left-field corner.
Wright singled for the game's first hit since the opening frame and Walker walked Lucas Duda and Bobby Abreu to load the bases with no outs. Dominic Leone took the mound and got Chris Young to ground into a force out that got Wright at home, but Lagares' sacrifice fly to center scored Duda for a 2-0 lead.
The Mets tacked on another run in the seventh. Young singled and Murphy walked before Wright's single to left made it a 3-0 game.
Meanwhile, Colon was perfect through 6 2/3 frames until Cano stroked a fastball, Colon's 83rd pitch of the day, to left for a single.
Corey Hart worked a leadoff walk off Colon in the eighth. Dustin Ackley singled two batters later and Miller's fly ball bounced off the top of the right-field wall for an RBI double, chasing Colon from the game.
Jeurys Familia came on and was greeted by Bloomquist's RBI groundout. Bloomquist was originally called safe, but a Mets replay challenge quickly overturned the call. Familia stranded the tying run at third by striking out Endy Chavez to end the eighth.
Jenrry Mejia tossed a scoreless ninth, leaving runners stranded on first and second to earn his 13th save of the season.