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: The Rays are off on Monday, but Jake Odorizzi will throw an intrasquad game at the Charlotte Sports Complex in Port Charlotte, Fla. Tuesday, the Rays will travel to Clearwater for a 1:05 p.m. ET contest against the Phillies. Staff ace Alex Cobb will make his third outing of the spring after allowing three earned runs in 2 1/3 innings against the Blue Jays on Thursday.
Bill Chastain is a reporter for MLB.com This story was not subject to the approval of Major League Baseball or its clubs.