The Cats were 20 points up late in the first quarter, surrendered the lead by half-time, then survived a gripping battle of attrition in the second half, prevailing 12.15 (87) to 11.10 (76).
It was their first win over Collingwood since the 2011 Grand Final, and it ensured they remain unbeaten in 2014.
Five talking points: Collingwood v Geelong
"Yeah, we're three and zip, but it doesn't really feel like it at the moment," Geelong coach Chris Scott said.
"So the positive is that the win-loss looks good. But we've still got a lot of work to do on our game."
Key forward Tom Hawkins was the hero of a tense last quarter.
Having been well held by young Magpie Jack Frost, Hawkins came to life in the final term, booting three team-lifting goals, including the last of the match after Jamie Elliott had put Collingwood within five points.
Hawkins finished with four majors and was the Cats' only multiple goalkicker.
"He was very important," Scott said. "Got the ball, kicked the clutch goals. But we had to get the ball down to him."
Elliott, who was Collingwood's outstanding contributor, produced the most spectacular feat of the match when he soared over Jimmy Bartel and hauled in a screamer during the second term.
He also finished with five goals, including three in the last quarter as his team fell agonisingly short.
"In the end, we lost the midfield battle across the four quarters quite convincingly," Pies coach Nathan Buckley said.
"(We were) minus-12 inside 50s, about the same in contested possessions, and the weight of ball just ended up counting against us."
Key defender Tom Lonergan was a star for Geelong, using the new umpiring interpretations to his advantage in holding Travis Cloke goalless, while Joel Selwood and Mitch Duncan were prolific in the midfield.
Selwood was flattened by Collingwood sub Taylor Adams early in the last quarter in an incident that is sure to attract the attention of the Match Review Panel.
Though he was involved in a number of heated exchanges with Adams late in the contest, the Cats' skipper was not badly injured and was able to play out the game.
Sealed with a kiss: Tom Hawkins celebrates one of his four vital goals against Collingwood on Saturday night. Picture: AFL Media
In the absence of five-time All Australian Corey Enright, who was a late withdrawal after failing to recover from an ankle injury, James Kelly stepped up, providing cool and calm leadership across half-back.
Of the Cats' emerging youngsters, Cameron Guthrie did an impressive tagging job on Scott Pendlebury.
Although Pendlebury was able to amass 26 disposals, Guthrie made him accountable by gathering 18 touches of his own, kicking a goal and taking a great pack mark late in the game.
Steele Sidebottom did all he could to haul the Magpies over the line. Sidebottom was electric during the second quarter, during which he gathered 10 of his 29 disposals.
Dayne Beams and Heritier Lumumba also continued their good form, while Brent Macaffer held Steve Johnson to just 20 touches. Johnson had averaged 34 disposals in rounds one and two.
In his first game since round five last year, Alex Fasolo made a solid contribution down back.
Geelong had a comeback kid of its own, with George Burbury tallying 12 disposals in his first game since breaking his jaw against Collingwood in the opening match of the NAB Challenge.
The Cats will be aiming to continue their unbeaten start when they host fellow unbeaten side West Coast at Simonds Stadium next Saturday night.
Collingwood's next outing is a Friday night game against Richmond at the MCG. With the Magpies and Tigers slumping to 1-2, it shapes as a must-win clash for both sides.
COLLINGWOOD 0.4 6.7 8.9 11.10 (76)
GEELONG 3.5 6.7 9.12 12.15 (87)
Collingwood: Elliott 5, White 2, Blair, Toovey, Goldsack, Sidebottom
Geelong: Hawkins 4, Varcoe, Horlin-Smith, Murdoch, Johnson, Guthrie, Stokes, Mackie, McIntosh
Collingwood: Elliott, Beams, Sidebottom, Macaffer, Maxwell, Lumumba
Geelong: Selwood, Kelly, Lonergan, Hawkins, Guthrie, Stokes
Collingwood: Dwyer (lower leg)
Geelong: Enright (ankle) and McCarthy (team balance) replaced in selected side by Sheringham and Simpson; Varcoe (head)
Collingwood: Taylor Adams replaced Sam Dwyer in the third quarter
Geelong: Mark Blicavs replaced Mitch Brown in the third quarter
Umpires: Donlon, Hay, McInerney
Official crowd: 63,152 at the MCG