Sean Dyche’s side looked to be heading for defeat following a lacklustre performance, but Portuguese striker Beto turned home Ashley Young’s cutback in the 94th minute to ensure the Toffees stretched their run without defeat to five games.
It looked like Alex Iwobi was returning to haunt his old side when he fired home the opening goal on the hour mark following a fine run by Emile Smith Rowe, but the Cottagers could not hold on.
Marco Silva’s men were on top in the early stages and came close to breaking the deadlock with chances in quick succession – Adama Traore’s drive from an angle was pushed away by Jordan Pickford before Smith Rowe hooked over from close range.
Everton had been timid in the exchanges but could have gone in front out of nowhere after midfielder Idrissa Gueye – on his 200th Premier League appearance – rattled the crossbar with a rasping shot and Dominic Calvert-Lewin’s follow-up was ruled out for offside.
The Blues were disjointed for large periods of the game but plugged away until the end – and Beto picked the perfect time to celebrate his first league goal of the campaign.