Leicester looked to be cruising as they led 21-6 at half-time but quickfire tries from flanker Dan Thomas and centre Piers O’Connor soon after the restart brought Bristol back into it.
However, May’s second score with six minutes remaining settled the match to help 11th-placed Leicester close the gap between them and the pack above.
The Tigers made an impressive start and put points on the board early thanks to Genge’s third-minute try.
A knock-on within the opening seconds put Leicester on the front foot and sustained forward pressure allowed a quick ball from scrum-half Ben Youngs to Genge and the prop powered over the line.
Ford successfully added the conversion, as he did for all four of Leicester’s tries, en route to a personal match haul of 16 points.
Bristol responded instantly when Callum Sheedy kicked a penalty following an offside against May.
The opening 10 minutes were capped off when referee JP Doyle went to the TMO and sent Bears prop Jordan Lay to the sin-bin for a high tackle on Telusa Veainu.
Despite that, Sheedy closed the lead to one point, taking advantage of a penalty after 13 minutes. However, moments after scoring Bristol were reduced to 13 men when Doyle sent Alapati Leiua to join Lay in the sin-bin following a deliberate knock-on.
Lay returned to the fray soon after but Tigers took advantage of the extra man, swiftly moving the ball from deep within their own half before Veainu broke away and found May, who easily scored.
Ford added a try of his own and his team’s third after 26 minutes, breaking through Bristol’s defence and racing away to score. His conversion extended the lead to 15 points at the interval.
The Bears roared back at the start of the second half, though, and scored twice inside the opening seven minutes.
Their opening try came through Thomas and straight from the kick-off they crossed again, O’Connor latching onto a kick from midfield and drove away from the chasing Tigers defenders.
Sheedy was only able to convert one of those tries but the Bears were suddenly within three points of their hosts.
The Tigers, after a sluggish start to the second half, gained a little more breathing space when Ford slotted over a penalty to make it 24-18.
The game was still in the balance until the closing stages, until May went over for his second try in the 74th minute.
Leicester moved the ball from left to right and the deadly combination of Veainu and May down the right wing led to the latter touching down.
With four minutes left, the Tigers introduced replacement Sam Harrison and he received a standing ovation on his final appearance before leaving for a new life in Australia.
May’s late try ensured Bristol would slump to a fourth Premiership defeat of the season and their afternoon only got worse when fullback Charles Piutau limped off in the last 30 seconds.
Match in images:
Sign up to our mailing list here and we’ll keep you up to the minute with weekly updates from the world of rugby.