League One Shrewsbury also narrowly missed out on a big upset as Wolves scored a 93rd-minute equaliser to rescue a 2-2 draw at New Meadow.
Everton twice led at The Den, but were left to rue the lack of VAR at the game as Millwall's second goal, from Jake Cooper, was allowed to stand despite coming off the defender's arm.
However, Marco Silva's men also only have themselves to blame after dire defending saw them concede from three set-pieces.
Richarlison's long range effort squirmed through Jordan Archer's grasp to give the visitors a lead that lasted just four minutes when Lee Gregory's header levelled in first-half stoppage time.
Guardiola relieved as City survive 'dangerous' Burton pitch
Substitute Cenk Tosun restored Everton's advantage before the moment of controversy when the ball ricocheted off Cooper's arm and into an unguarded net.
Everton's players and manager were furious as replays shown inside the stadium showed the goal should have been ruled out for handball, but with VAR not in use, referee Michael Oliver had to stick by his original decision to give the goal.
The Premier League side failed to recover their composure and paid a heavy price when Murray Wallace turned home another free-kick launched into the Everton box in the 94th minute.
City boss Pep Guardiola labelled talk of a quadruple as "fantasy" earlier in the week, but after cruising into the League Cup final in midweek, the English champions are in contention for a clean sweep of trophies as they challenge Liverpool in the Premier League and face Schalke in the last 16 of the Champions League.
"It is very difficult when teams like this play the way they do," said Burnley boss Sean Dyche. "Who is going to stop them winning everything if they are in that mood?"
Guardiola ruled out De Jong swoop over wage fears
The defeat left Burnley to concentrate on their bid for survival in the top flight as City stretched their remarkable run of late to 28 goals and none conceded in their last six games.
"Everybody wants to play and you have to play good when they do because the others are at a high level," said Guardiola.
Gabriel Jesus continued his hot streak with a fine individual run and powerful finish past Nick Pope to open the scoring with his eighth goal in five games.
Burnley wasted a great chance to level when Matej Vydra fired wide with just Ederson to beat and within seconds Bernardo Silva's deflected effort gave City breathing space.
Kevin de Bruyne's brilliant strike then made it 3-0 and another wicked delivery from the Belgian forced Kevin Long to turn into his own net for the fourth before Sergio Aguero rounded off the scoring from the penalty spot.
COMMENTS
Comments are moderated and generally will be posted if they are on-topic and not abusive.
For more information, please see our Comments FAQ