Colon allowed five runs on seven hits and a walk, while striking out three in two innings of work.
Matt Andriese, who is competing for the fifth spot in the rotation, started for the Rays. After pitching a scoreless first, he got some help from his fielders in the second.
The Mets had runners on first and second with one out when Matt den Dekker flew out to deep center field. Steven Souza Jr. caught the ball and threw to shortstop Franklin, who then threw a strike to catcher Bobby Wilson to get Kirk Nieuwenhuis trying to score from second.
The Souza Jr.-to-Franklin connection worked again in the third when Souza fielded Wilmer Flores' single and threw to Franklin, who snapped a throw to first. Loney applied the tag to Flores for the second out of the inning.
"It's good to have good defense behind you," Andriese said. "You always appreciate that. Just pitch to contact and those guys will help me out back there."
Andriese allowed no runs on four hits and a walk, while striking out one in three innings worked.
The Mets' offense got in gear in the fourth against Burch Smith when Alex Castellanos grounded out to score Travis d'Arnaud and den Dekker added an RBI single to cut the lead to 5-2.
Longoria answered in the bottom half of the inning with an RBI single off Hansel Robles.
Up next: Listen on Gameday Audio as Matt Harvey's tour of Florida continues Monday in a 1:05 p.m. ET game against the Red Sox at Fort Myers, Fla. Though Harvey hit 98 mph on the radar gun last time out, the Marlins touched him for two runs on six hits in 2 2/3 innings. He'll be limited to around four innings and 60 pitches in Monday's game, which right-hander Joe Kelly will start for the Sox.
Bill Chastain is a reporter for MLB.com This story was not subject to the approval of Major League Baseball or its clubs.