This game featured the most innings the Marlins have played since losing in 20 to the Cardinals on April 27, 2003.
"Happy Father's Day," quipped Cousins on the game that started at 7:15 p.m. ET and ended at 12:22 a.m. "It was great. Like I said yesterday, hopefully I can be that piece that gets the cylinders running. Hopefully, we can carry the momentum into tomorrow."
The Marlins had lost three straight and nine of 10 before outlasting the Rays, who had won eight in a row in the series dating back to last year.
"A big game for us," manager Ozzie Guillen said. "Every time you play a game like that, 14, 15, 16 innings, whatever it is, and you come out with a win, people come out of the ballpark very excited and ready for the next day."
The triple was Cousins' third hit of the night, and he ended up being a home run shy of a cycle. The left-handed-hitting outfielder was called up from Triple-A New Orleans on Friday, and Saturday was his first start of the season.
"Cousins was great," Guillen said. "Finally, somebody we grabbed from the Minor Leagues came in and stepped up. He played great defense too. Great defense. Big hits. The last person you thought would come up with the big hit was him. He came up big."
Justin Ruggiano ripped an opposite-field double off Brandon Gomes with one out in the 15th. Miami was 1-for-12 with runners in scoring position when Cousins came through with his liner to right.
"I fell behind [Ruggiano] and I just challenged him there," Gomes said. "I think I left a fastball up and he hit it pretty well the other way, he's a good fastball hitter. And the next [Cousins], I hung him a split -- just a lack of execution there. If I could take one pitch back it would be that one."
Heath Bell struck out the side in order for his 14th save in 18 chances.
"It just means that these guys aren't going to give up," Bell said. "We've got a lot of heart. We're not going to roll over and say, 'This is going to be another one we lose.' They came out fighting. The bullpen did a great job."
It was the ninth game in club history that was 15 innings or more.
Twice this year, the Marlins played 12-inning games, with the most recent on May 9 at Houston.
The Marlins last played a 14-inning game with Tampa Bay on June 14, 2002, in a game won by the then-Devil Rays.
In relief of Anibal Sanchez, who threw 6 1/3 innings, giving up three runs, the Marlins bullpen stepped up with a gallant effort. Edward Mujica and Ryan Webb each threw three shutout innings.
Webb, a native of Clearwater, was credited with the win.
Because the bullpen was heavily used, Guillen is considering using Mark Buehrle, Tuesday's probable starter at Boston, in long relief on Sunday.
The Marlins are sending Josh Johnson to the mound on Sunday, looking to take two of three in the series. But if Johnson exits early, Buehrle could pitch in relief. If that happens, the team would find another option to start at Boston on Tuesday.
On Saturday night, both teams had plenty of chances.
With one out in the 13th inning, B.J. Upton singled to left off Webb. Hideki Matsui's groundout to first advanced Upton into scoring position. Ben Zobrist was intentionally walked, and the rally was halted on Drew Sutton's lineout to Ruggiano in left.
Miami survived a scare in the 10th inning.
Mujica, working his third inning of relief, was hurt by Jose Reyes' one-out throwing error, which allowed Desmond Jennings to reach. Matt Joyce dropped a single to center, putting two runners on for Upton. But Mujica got Upton to ground hard to Hanley Ramirez, who raced to third for an out and tossed to first, completing the inning-ending double play.
The Marlins stranded pinch-runner Brett Hayes on second in the 11th inning when Ramirez struck out against Wade Davis.
In the 13th inning, Reyes tripled on a ball that was a few feet shy of clearing the wall in right-center. But he was left on third after Burke Badenhop struck out Ramirez.
The 12th inning was more of the same when the Marlins couldn't cash in after Logan Morrison's one-out double off Badenhop. Miami left two on in the inning.
The Marlins claimed a three-run lead off starter James Shields, scoring three unearned runs in the first two innings. Shields worked 7 2/3 innings, throwing 124 pitches on a night he repeatedly worked out of trouble.
Steve Cishek replaced Sanchez in the seventh inning, and with two outs, he surrendered an RBI triple to Sean Rodriguez. The ball hit the chalk down the right-field line, making it 3-3, setting up the endurance match that followed.
"I think it was a really good win and this could be a turning point for us," Bell said.