Gloucester bolstered their Aviva Premiership play-off bid in bonus point fashion after edging out London Irish 33-29 in a Madejski Stadium thriller.

It could have been a different story when relegation favourites Irish led by 17 points after 18 minutes thanks to tries by lock Josh McNally and scrum-half Piet van Zyl, while full-back James Marshall added two conversions and a penalty.

But Gloucester wiped out that deficit before the break in front of a 15,200 crowd as hooker James Hanson, wing Tom Marshall and flanker Lewis Ludlow touched down in rapid succession, with Billy Twelvetrees kicking two conversions.

And the second period began with Gloucester in dominant mood as Marshall scored a second try and centre Mark Atkinson also breached Irish’s defence – fly-half Billy Burns added both conversions – but the hosts responded impressively through tries by number 10 Theo Brophy Clews and wing Joe Cokanasiga, plus a Tommy Bell conversion.

Gloucester’s win moved them into the top five, with Irish’s two bonus points leaving them 10 adrift at the Premiership basement with just four games left, although there were several encouraging signs for their new coaching team of Declan Kidney and Les Kiss.

Irish belied their league position by blasting out of the blocks and put Gloucester under immediate pressure, patiently going through the phases before Marshall opened their account with a fifth-minute penalty.

And it got even better for the Exiles inside a dominant opening 10 minutes as they continued to pummel away inside Gloucester’s 22, before McNally marked his comeback from corrective heart surgery earlier this season by touching down.

It was the 27-year-old’s first league appearance for more than four months, having been diagnosed with a hole in the heart, and it proved a dream return as Irish delivered a blistering spell of dominant rugby.

Marshall added the conversion, and he booted a further two points eight minutes later after Van Zyl darted over from close range to leave Gloucester in disarray, trailing 17-0 and showing no sign of even getting out of their own half.

But when the visitors eventually stirred, they scored from their first attack, with Hanson powering over for a try that Twelvetrees converted before more slick work sparked by Twelvetrees – he was on as a temporary replacement for Burns – left Irish reeling.

Twelvetrees brought a degree of composure to Gloucester’s game, and Marshall finished off a flowing move that Twelvetrees converted to further cut the gap.

And then when Burns returned, Gloucester struck again, shredding Irish’s defence to complete a spectacular scoring burst of three tries in eight minutes as Ludlow crossed unopposed.

Burns could not convert, yet Gloucester secured a 19-17 lead at the break, going ahead for the first time courtesy of Ludlow’s try.

Gloucester thought they had extended their advantage within five minutes of the restart when Atkinson sent Marshall clear, but referee Matt Carley disallowed it for midfield obstruction after consulting with the television match official.

But Atkinson did not have to wait long for another opportunity, this time capitalising on weak Irish defence to run in unopposed, and Burns’ conversion gave Gloucester a degree of breathing space.

Tom Marshall then scored his second try, producing a stylish finish in limited space to take Gloucester past 30 points, only for Irish to finish strongly and ensure an entertaining encounter did not lose any of its sparkle.