Kent began day three knowing victory would guarantee second place, but Tom Boorman was dropped in the first over, after he edged Khaled Ahmed – keeper Chris Benjamin left it for first slip Crawley, who seemed surprised and missed the chance.
However, both overnight batters went in the space of seven balls. Miles Hammond edged Ahmed to Tawanda Muyeye on 42, before Boorman nicked Milnes behind.
Dhariwal and Daaryoush Ahmed batted Gloucestershire into the lead and the latter was probably unlucky to be lbw to 34 off what looked like an inside edge.
But there was no arguing about James Bracey’s dismissal – batting with a runner, he spooned Milnes to Keith Dudgeon at mid-on and it was 150-6 at lunch.
Sai Kishore was Milnes’ fifth victim when he was caught by Muyeye at first and he then took his 27th championship catch of the season, when Che Simmons edged Dudgeon.
With Gloucestershire eight down, the news filtered through that Northamptonshire had lost to Middlesex and a wave of applause swept round the ground.
Any tension melted away, although Matt Taylor made a useful 34 to at least give the visitors something to defend.
Dhariwal finally fell to Muyeye, swishing him to Northeast at mid-off and the innings ended when Taylor drove Ekansh Singh to skipper Daniel Bell-Drummond, setting a target of 118.
Crawley cracked the first delivery of the chase for four, from JT Langridge, but two balls later he was dropped by Ollie Price at second.
Langridge did get Ben Compton lbw for four and Crawley’s livewire innings ended when he reverse-swept Kishore for four, only to slog-sweep the next ball vertically, walking off before Hammond had even taken the catch,.
With the target down to 12, Northeast hit Price for six over cow corner, before hitting the next two balls for four, to crown promotion and seal Kent’s eighth win of the season.
ECB Reporters’ Network supported by Rothesay.