It came down to the last ball, with Roelof van der Merwe needing to hit a six to win, but he could only manage a single as Fire finished on 148 for 6 to end up four runs short
Cardiff: Trent Rockets 152-6, Welsh Fire 148-6 - Trent Rockets won by four runs
Trent Rockets climbed from bottom of the table to third with a nailbiting win over Welsh Fire, as John Turner held his nerve with 14 required from the final five balls.
Turner finished with superb figures of 1 for 22, while Rockets were able to set a competitive total thanks to New Zealander Colin Munro who smashed 66 off 35 balls after his team had been reduced to 40 for 4 early on. In the end they reached 152 for 6.
The defeat is a blow to Fire's hopes of a top-three finish, as they let Rockets off the hook with the ball and never really got going with the bat.
It came down to the last ball, with Roelof van der Merwe needing to hit a six to win, but he could only manage a single as Fire finished on 148 for 6, Joe Clarke top scoring with 54 off 34.
This was billed as Trent Rockets' international top-order batting against the equally international class of the Welsh Fire bowling attack, and the home side opted to bowl first to unleash that threat.
It went the way of the bowlers early on, England's David Willey dismissing both openers. Alex Hales got a thin edge through to wicketkeeper Joe Clarke, while Dawid Malan was out lbw trying to guide the ball down to fine leg, a review showing it would have clipped leg stump.
Welsh Fire were beaten by Trent Rockets [Getty Images]
Joe Root started in typically busy fashion and also unfurled the reverse ramp shot he has used so often this summer, but it was to get him out from a Jake Ball slower ball as the lack of pace saw the ball just spoon up to Clarke.
When van der Merwe got his first ball to turn and dismiss Tom Kohler-Cadmore, trying to force off the back foot, the Rockets were in serious trouble at 40 for 4 after 41 balls.
Samit Patel hit van der Merwe for a 94-metre six but then perished next ball trying to repeat the shot, this time top-edging into the covers to be caught by Stephen Eskinazi.
Colin Munro should have been run out after a brilliant piece of boundary fielding by Haris Rauf, but Shaheen Shah Afridi tried to throw the stumps down when a simple pass to keeper Clarke would have been enough.
He hit van der Merwe for two big sixes and another off Rauf took Munro to his half-century off 27 balls. Despite that Pakistan ace Rauf conceded only 19 off his 20 balls.
Munro finished on 66 off 35 as he steered his side to a competitive total of 152 for 6.
Eskinazi was dropped by Daniel Sams off John Turner on 5, however the bowler was not to be denied when he hit the off stump of Jonny Bairstow, the England man's second low score out of two games for Fire as he departed for 3.
Rockets gave their playoff hopes a kick-start [Getty Images]
Fire fell behind the required rate early on, struggling particularly against the swing of Luke Wood. The acceleration needed to come, but Eskinazi perished trying to hit Sams over the top, caught by Root coming in from long-off.
Luke Wells was dropped by Munro at deep square off Lewis Gregory on 3, but departed for 8 after Sams made no mistake on another skied effort off Ish Sodhi.
Clarke and Tom Abell did not find things easy but managed to keep the scoreboard ticking over without ever getting ahead of the rate, and 34 were required from the final 15 balls.
The first five of those went for no runs, with Abell run out and Clarke given out off the fifth. However it turned out to be a no ball and a free hit, which Clarke hit for six to keep Fire alive needing 26 off the final 10.
Glenn Phillips hit 12 of those off Sams before being caught at long-off, leaving Clarke and David Willey 14 to get from the final set.