James Morrison looked set to hold off a strong challenge from Oliver Fisher as the Madeira Islands Open BPI - Portugal moved towards its conclusion.
Fisher, six behind Morrison overnight, roared into contention at Porto Santo Golfe with a sensational front nine of 31.
Some sparkling approach play helped the Englishman to five birdies, including four in succession from the third hole.
By contrast, Morrison endured a shaky start to his final round, missing a five foot putt for par on the first and dropping a further shot at the par five third after finding the water with his second shot.
But the 25-year-old, seeking his maiden European Tour win, recovered impressively with a birdie at the sixth before picking up an eagle at the 569-yard eighth.
Another birdie followed at the tenth to take Morrison to 20 under, three clear of Fisher with six holes to play.
George Murray threatened to make it a three-way fight for the title when he bounced back from an opening bogey with an eagle at six to move to 16 under.
But consecutive bogeys at the next two holes undermined the Scot’s challenge before he moved back to 15 under with a birdie at 12.
Italy’s Alessandro Tadini was alongside Gary Clark on 12 under following a superb final round charge.
Tadini picked up four birdies in his opening six holes to vault up the leaderboard.
A bogey at nine halted his progress, but he quickly regained momentum with a four at the long tenth before collecting further birdies on the 12th, 13th and 14th, although he did give a shot back on the par four 16th.
George Coetzee was one of three players on 11 under, alongside Charles-Edouard Russo and John Parry, while Simon Thornton, Michael Hoey and Jean-Baptiste Gonnet were a shot further back.
Thornton had looked set to challenge the leaders before dropping off the pace with a nine on the par five tenth.
Gonnet recorded an eagle and six birdies in his closing 65, while Steve Lewton and Fredrik Andersson Hed both carded scores of 66 to reach eight under for the tournament.
Further down the field, Germany’s Bernt Ritthammer was putting together a superb round. Starting on the tenth, he carded an eagle and four birdies to reach six under for the day and level par for the tournament.