The Belgian, who also won stage two, led the race going into the Queen stage by five seconds from Rui Costa (UAE-Abu Dhabi), and he was able to extend his advantage to more than 20 seconds by winning atop Green Mountain.
Fabio Aru (Astana) rolled home in second place, three seconds in arrears, with Costa rounding off the podium 11 second back; it was the third time the Portuguese former world champion has finished in the top-three during this year’s race.
The penultimate stage of the race with a flat day tomorrow, it means that 30-year-old Hermans should have wrapped the general classification up, barring any disasters.
Before the day’s breakaway was allowed to be formed, the race’s peloton was halved by an echelon in the first few kilometres, with the second group – containing Greg Van Avermaet (BMC), no less – 30 seconds adrift at one point.
But the peloton regrouped and permitted the escape of five riders: perennial early season breakaway rider Mark Christian (Aqua Blue), Daniel Diaz (Delko Marseille Provence KTM), Olivier Pardini (WB Veranclassic Aqua Protect), Jonathan Clarke (UnitedHealthcare) and Preben Van Hecke (Sport Vlaanderen-Baloise).
As they extended their lead to 8:35, Romain Bardet (AGR2 La Mondiale), sixth on GC prior to the stage, crashed in the peloton as water from a stream caused slippery conditions on the road.
At the foot of the 5.7km climb of Green Mountain, the breakaway had an advantage of 2:30. However the peloton soon swept them up and Lachlan Morton of Dimension Data was the first to attack, quickly building a lead of 20 seconds.
Eight riders chased the Australian and he was soon caught on the slopes of the mountain that averages a gradient of 10.5 per cent.
Inside the final kilometre, Morton’s teammate Kudus Merhawi – just 21 seconds shy off the lead – launched his move, which prompted a response first by Hermans, then Aru and Costa; Bardet, though, was unable to keep pace with the triumvirate.
Hermans caught the Eritrean and charged towards the finish line, with Aru and Costa chasing him closely behind, the former especially digging deep to reign in the race leader. But his efforts were unsuccessful, as Hermans won for the second time in a week to lead by 22 seconds ahead of the final stage on Sunday.
Tour of Oman 2017, stage five: Samail to Jebel Akhdar (Green Mountain) (152.5km)
1. Ben Hermans (Bel) BMC Racing in 4-08-46
2. Fabio Aru (Ita) Astana at 3 secs
3. Rui Costa (Por) UAE-Abu Dhabi at 11 secs
4. Giovanni Visconti (Ita) Bahrain-Merida at 27 secs
5. Kudus Merhawi (Eri) Dimension-Data) at same time
6. Tsgabu Grymay (Eth) Bahrain-Merida at 34 secs.
7. Lachlan Morton (Aus) Dimension Data at 38 secs
8. Mathias Frank (Sui) AG2R La Mondiale at 41 secs
9. Nathan Haas (Aus) Dimension Data at 44 secs
10. Romain Bardet (Fra) AG2R La Mondiale at same time.
General classification after stage five
1. Ben Hermans (Bel) BMC Racing in 17-59-17
2. Rui Costa (Por) UAE-Abu Dhabi at 22 secs
3. Fabio Aru (Ita) Astana at 35 secs
4. Kudus Merhawi (Eri) Dimension-Data) at 58 secs
5. Tsgabu Grymay (Eth) Bahrain-Merida at 1-12
6. Romain Bardet (Fra) AG2R La Mondiale at 1-17
7. Mathias Frank (Sui) AG2R La Mondiale at 1-19
8. Lachlan Morton (Aus) Dimension Data at 1-21
9. Giovanni Visconti (Ita) Bahrain-Merida at 1-33
10. Nathan Haas (Aus) Dimension Data at 1-38