James Daly showed the eye of the tiger, giving Hull a rocky start, by slotting home 70 seconds after the opening bell.
Rovers were comfortable in the first period, despite Hull’s possession, and should have doubled the lead through Zain Westbrooke right on half-time.
Afforded an extra few days between games – and spared a trip north up the M6 – because of the postponement of Saturday’s game against Accrington Stanley, Ben Garner named not only an unchanged starting 11 for a fifth straight game, but kept the same bench from the win at Shrewsbury, too. A rare, and appreciated, luxury.
Hull, whose loss at home to Peterborough on Saturday was their second loss in their opening seven games – they have won the other five – made two changes. Jordy de Wijs and Hakeeb Adelakun, the latter affiliated to a team not a million miles from here, came into the team, with Keane Lewis-Potter dropping to the bench, and Jacob Greaves out of the squad altogether.
So far on their travels in Sky Bet League One this season, City had managed three victories while keeping a clean sheet, but this was never destined to be a fourth time of not conceding.
Rovers earned a corner from the off, but after Hull dealt with the initial threat, Magennis was robbed of the ball, and Daly was able to race away, beyond a stunned City rearguard. If you are Hull, at this point, you want the ball to have fallen to a player who is out of touch, and barely warmed up.
Instead, they got Daly, with two goals in his last three games, getting a sustained run of first-team football, and brimming with confidence. Keeping his head up, he stroked home with his left foot. He was never going to miss.
Hull showed their claws for the first time when they dispossessed Brandon Hanlan on the halfway line and sent Josh Magennis away. He was fouled on the edge of the area by Cian Harries, but the direct free kick, taken by Callum Elder, was weak and straight at Anssi Jaakkola.
At the other end, Hanlan pinched the ball off a dithering Josh Emmanuel, who deliberately tugged the Rovers number nine back. While Hull boss Grant McCann was still berating officials, questioning why his right-back was cautioned, yet Harries had not been, Zain Westbrooke delivered a quality delivery ball from wide on the left which evaded every Hull defender – but went by every Rovers attacker, too.
Luke McCormick became the first Pirate in the book after a free kick was given against him, and he prevented the quick taking of the dead ball.
By the half-hour mark, Hull were finding good territory, but failing to do anything of note to test Rovers’ in-control back-line. Hakeeb Adelakun had a good position to cross, but did not take it; George Honeyman delivered a free kick, but it was headed strongly clear; and Jaakkola calmly caught the first corner the visitors could swing in.
With ten minutes of the first half to go, Emmanuel finally got the ball right, sent it invitingly across the six-yard area, but the invitation was not RSVPed, with no Tiger waiting to pounce.
Hull were now looking more like predators, and they nearly benefited from their prey giving themselves away. Tutonda tried a risky pass near his own area, and missed his target, leaving Hull in a good position. Eventually, the ball fell to Honeyman, whose shot smashed into side-netting.
Greg Docherty fired over, as Hull continued their strong end to the half, but their attacks, all the way to the interval, had been tame enough.
There were nearly a beautiful framing of the half, but Rovers squandered a glorious chance to double their lead, in first-half stoppage time. De Wijs was the Tiger caught on the ball by Hanlan, who was burning bright throughout the half, and Hanlan set off towards goal. Unselfishly, he squared to Westbrooke, but the midfielder could not give the half a perfect book-end, as his shot was stopped by Matt Ingram, whose immortal hand-eye co-ordination saved the day, preventing the symmetry of which he was presumably fearful.
By the hour mark, with Hull’s chances in the opening period of the second half limited to a worrying moment for Rovers when Harries sliced an attempted clearance, McCann decided on a triple substitution.
Bringing on frontmen Magennis and Adelakun, as well as midfielder Docherty, on came Regan Slater, former Rovers frontman Tom Eaves, and Keane Lewis-Potter. The latter had an immediate impact.
Just three minutes after coming, Lewis-Potter was well-placed in the area, and after good work from Wilks and Emmanuel, was on the end of the right-wing cross to head into the corner.
Lewis-Potter then hit the bar – although he had already been flagged for being offside – and Ben Garner responded to Hull’s increasing confidence by bringing on Erhan Oztumer for Luke McCormick.
It was, though, another Hull replacement that struck the next, vital blow. City played dangerously with the ball in their own half, but retained it, and when they send Eaves away down the right flank, Harries took a tumble at the wrong time while under pressure. Eaves now had space, picked out Slater at the far post, and the on-loan Sheffield United man took his time before clipping home.
Rovers responded with a long spell of possession which ended with a cross from Josh Hare which Ingram appeared to spill, no foul was given, but Hull eventually conjured the ball away. Having made their three changes, City nervously waited as goalkeeper Ingram and De Wijs had to have treatment, but both were able to continue.
It was Hare’s last action, as Garner sent on Sam Nicholson with eight minutes to go. Rovers threw men forward, and got balls into the area, but it was the Hull defence’s turn to stand firm, and repel whatever came their way.
Rovers never threw in the towel, but Eaves produced the knockout blow in injury time, taking advantage of Rovers pushing men up for the equaliser, and rounding Jaakkola to round things off.
Bristol Rovers (3-5-2): Anssi Jaakkola; Cian Harries, Max Ehmer (c), Jack Baldwin; Josh Hare (Sam Nicholson 82), Zain Westbrooke, Josh Grant, Luke McCormick (Erhan Oztumer 72), David Tutonda; Brandon Hanlan, James Daly. Subs (not used): Jordy van Stappershoef, Luke Leahy, Ed Upson, Alfie Kilgour, Cam Hargreaves.
Booked: McCormick 26
Hull City (4-3-3): Matt Ingram; Josh Emmanuel, Reece Burke, Jordy de Wijs, Callum Elder; George Honeyman, Richie Smallwood © Greg Docherty (Regan Slater 59); Habeeb Adelakun (Keane Lewis-Potter 59), Josh Magennis (Tom Eaves 59), Mallik Wilks. Subs (not used): George Long, Dan Batty, Alfie Jones, Thomas Mayer.
Booked: Emmanuel 18