Jake Odorizzi was great at the start, and Alex Colome provided just as good a finish.
Everything else for the Tampa Bay Rays was an adventure.
Odorizzi allowed two hits in five shutout innings, Colome got a two-inning save and the Rays held on to beat the Miami Marlins 4-3 on Tuesday, ending a three-game slide.
"We needed a win today to turn this road trip in the positive," said Rays manager Kevin Cash, whose club finished an eight-game trip 5-3. "With the way we started we had to finish a little better than the way we were going. It was a big win."
Odorizzi (2-2) struck out seven and walked three, plus delivered an RBI single for his first career hit. Hank Conger hit a two-run single, Logan Morrison had three hits and Brad Miller had two hits and two stolen bases for the Rays.
Giancarlo Stanton hit his 12th home run for the Marlins, snapping a 6-for-57 drought. He was in the on-deck circle when Colome capped his 12th save by striking out Justin Bour looking to end the game.
"He's starting to see the ball better," Marlins manager Don Mattingly said. "That's really what you want."
Marcell Ozuna doubled twice and reached for the 31st consecutive game, while Bour and Derek Dietrich added two hits for Miami.
Marlins starter Tom Koehler (2-5) allowed six hits and three runs in five innings, striking out six but walking five for the third consecutive outing. The Marlins are 0-5 in his May starts, and Koehler hasn't won since April 26.
"Unacceptable," Koehler said. "It's something that we're looking at and seeing if we're just missing on pitches or if there's something in the delivery."
Odorizzi left with a 3-0 lead, and the Rays nearly gave it away.
Stanton greeted Enny Romero with a homer to lead off the sixth, Dietrich delivered an RBI single five pitches later to chase the left-hander and Miami was quickly within 3-2.
Steve Pearce's single off the third-base bag in the seventh made it 4-2, but the Marlins rallied again in the eighth. Ozuna led off with a double, eventually scoring when Adeiny Hechavarria's single cut the lead to 4-3.
Conger and Odorizzi, the Rays' eighth and ninth hitters in Tuesday's lineup, came into the day with one RBI between them this season. They left with four. Odorizzi drove in Morrison in the second to open the scoring and Conger made it 3-0 in the third on a sharp single to right.
"I felt like I was a player today, a regular position player, getting to hit," Odorizzi said. "AL pitchers, this is what we dream of basically. You get like two chances a year so you've got to try to make the most of them. It was a blast."
Rays: CF Kevin Kiermaier (broken left hand) had surgery Tuesday in St. Petersburg. He was hurt Saturday diving for a fly ball and is likely out 8-10 weeks. ... RHP Brad Boxberger (abductor) is set for his fifth rehab appearance on Wednesday, for Double-A Montgomery. He is expected to rejoin the Rays in a matter of days, barring a setback.
Marlins: LF Christian Yelich (back spasms) missed his fourth consecutive start. Bour took Yelich's usual No. 3 spot in the batting order, hitting there for the first time this season.
Thousands of schoolkids were at the day game, and they were loud. The Rays said that played a factor in Stanton reaching on what became a two-base error, a popup falling in between three converging defenders. "The kids were so loud that they couldn't quite communicate," Cash said.
Ichiro Suzuki had 10 hits in a three-game span ending Monday, and it was historic. Not only did he tie a Marlins record for most hits in a three-game stretch (done previously by Hanley Ramirez, Luis Castillo and Preston Wilson), but Suzuki became the first 42-year-old to go on such a streak since Cap Anson back in 1894. He was 0 for 5 Tuesday.
The teams head to the Gulf side of the state to continue their four-game series Wednesday night, with LHP Justin Nicolino (2-2, 4.30) going for Miami and RHP Matt Andriese (3-0, 2.11) trying to win his fourth consecutive start for Tampa Bay. Nicolino is winless in his last three outings, with a 5.63 ERA over that stretch.