Fresh from consecutive victories over Sydney and Collingwood, the Cats took the game right up to the league leaders, but Essendon eventually prevailed 19.13.127 to 17.10.112.
The Bombers, who are now two games clear on top of the AFL ladder, led by five goals at quarter time only for Geelong to get back to within five points early in the second quarter.
Essendon midfielder Jason Johnson was best on ground and booted four goals, while Clint Bizzell got four for the Cats.
After their walk in the park against the Western Bulldogs last weekend, the Bombers burst out of the blocks and led by five goals at quarter time, with most of the 48,000 strong crowd fearing yet another massacre.
But with Justin Murphy and Darren Milburn on fire in the midfield, the Cats put on a brilliant display in the second term, booting eight goals and narrowing the margin to nine points at the long break.
Geelong effectively slowed Essendon's movement of the ball by playing a relentless man-on-man brand of football, but the Bombers' class and Lloyd's brilliant marking and conversion up forward, were the difference between the two sides.
The Cats now sit in 12th position but are just four points behind seventh placed Collingwood and right in contention for a finals berth
"We didn't get smashed by them as a lot of other sides have and we played some really good football even though we lost the game," Geelong coach Mark Thompson said. "We gave them a big start and beat them for the last three quarters.
"We just had too much respect for Essendon early, players were a bit spooked by who they were playing on rather than just playing the game.
"All I said at quarter time was believe in yourself, you play the game the way you know you can play instead of worrying about who you're playing on.
"Sometimes (Essendon) can beat sides even before they run out on the park."
Like a jabbing Lennox Lewis holding off a shorter opponent when ahead on points, Essendon held a lead that yo-yoed between two and five goals and never looked in real danger of defeat.
"It was good to have that game with the matches we've got coming up - it was a real good learning procedure for us because Geelong have rarely been thrashed and haven't won by a lot, they're competitive," Essendon coach Kevin Sheedy said.
"They worked very very hard Geelong, its a credit to them to be there in the last five minutes with a bit of a chance - Lloyd's straight kicking kept us in it."
The bad news for Essendon was Justin Blumfield suffering what looked like a recurrence of a knee injury in his first game back, while Mark Mercuri was reported for striking.
Captain James Hird was a late withdrawal with a groin injury but will return next week, while Dean Rioli will miss two more weeks with a calf strain.
Scoreboard:
ESSENDON: 5.7, 10.8, 15.12, 19.13 (127)
GEELONG: 1.2, 9.5, 13.5, 17.10 (112)
Goals: Essendon: M Lloyd 6 J Johnson 4 G Moorcroft 2 A Henneman A Ramanauskas J Lalich S Lucas J Blumfield B Caracella D Jacobs. Geelong: C Bizzell 4 R Burns 3 D Clarke 2 B Graham G Kilpatrick P Riccardi M White J Murphy D Mensch J Rahilly C Ling.
Best: Essendon: J Johnson J Misiti M Lloyd A Ramanauskas D Hardwick D Fletcher. Geelong: J Murphy D Milburn B Sanderson M Scarlett C Bizzell C Mooney.
Injuries: Essendon: J Blumfield (knee), J Hird (groin) replaced in selected side by M Bolton, D Rioli (calf) replaced in selected side by J Bannister. Geelong: Nil.
Reports: M Mercuri (Essendon) reported for striking C Ling (Geelong) during the second quarter.
Umpires: M McKenzie, M James, M Vozzo.
Official crowd: 48,152 at Colonial Stadium.