The Suns led at every change and deserved their victory in front of 19,721 fans.
Collingwood moved within three points early in the last quarter, but the Suns steadied through goals to Jared Brennan and captain Gary Ablett to win their sixth game of the season.
Dane Swan had 32 disposals and was one of his team's best, but cost Collingwood a first quarter goal when an errant left foot kick went straight to Seb Tape, who kicked his first career major.
"We weren't real clean with the ball and we butchered a lot of opportunities, especially early, and when the scoreboard pressure comes on it gives the opposition a bit of a sniff," Magpies coach Nathan Buckley said.
"Clearly tonight they had that sniff and they were able to execute for longer than we were and it was too much to chase down in the end."
In the same week as he extended his contract until the end of 2016, Rising Star favourite Jaeger O'Meara was superb again.
The 19-year-old had 23 touches, kicked three goals and laid eight tackles.
GETTABLE: Bidding war revealed for young gun, free agent stays, Pies' 'list crunch' call
Cal Twomey and Riley Beveridge discuss the big news around the eight-club chase for potential Category B rookie Indy Cotton, and highly rated draft prospect Sam Grlj joins the show
41:53
ROUND TABLE: What League must avoid with Rioli situation, injured star hurts Pies’ flag credentials
Start your hump day with the latest news in the world of footy plus more with Nat Edwards, Damian Barrett, Josh Gabelich and Sarah Olle
03:24
Lloyd highlights Cats' 'soft, weak efforts' in Giants loss
Damian Barrett and Matthew Lloyd breakdown the Giants win over the Cats in Geelong
06:55
Footy Feed
Footy Feed
SDNR launch, AFL responds to Rioli ban, Longmuir's Jackson call