Miami built a comfortable lead and held on for a 4-3 victory over Tampa Bay, surviving a late rally that brought the tying run to the plate in the ninth inning.
Javier Sanoja carried the Marlins offense with a 3-for-4 performance that included a solo home run and two RBIs. His homer to left field opened the scoring in the fifth inning, and he added an RBI single in the sixth that extended Miami's lead to 3-0.
The Marlins added two runs in both the fifth and sixth innings to take control. Joe Mack doubled home Esteury Ruiz in the fifth after Sanoja's homer, then Liam Hicks hit a sacrifice fly in the sixth to cap the scoring at 4-0.
Shane McClanahan took the loss for Tampa Bay, allowing 4 runs on 8 hits over 5.0 innings with 6 strikeouts. The Rays mounted their comeback in the final two innings, scoring once in the eighth on Yandy Diaz's RBI double and twice more in the ninth. Ben Williamson scored on a wild pitch and Taylor Walls came home on another Diaz RBI single, but Tyler Zuber struck out the final batter to secure his first save of the season.
Miami improved to 29-35 and snapped a one-game losing streak. Tampa Bay fell to 37-23 despite Diaz's 3-for-5 night that moved him within five doubles of 200 for his career.