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.
Not a fashion icon, but Neale Daniher still inspiring the masses
Neale Daniher's daughter Bec takes great delight in teasing him about what head gear he initially wanted for the Big Freeze fundraiser
R9 preview: Showdown takes centre stage, can Freo, Blues bounce back?
Two blockbusters feature in the Saturday night slots, as Fremantle and Carlton will look to respond after last week's performances
Opinion
Opinion
BARRETT: Rioli fallout only adds to AFL's growing to-do list
The reaction to penalties handed to Willie Rioli, Nick Watson and Paul Curtis, among others, illustrate the challenges facing League bosses, writes Damian Barrett
Viney confident 'terrific teammate' Oliver will stay at Dees
With speculation about Clayton Oliver's future, Jack Viney believes his teammate will remain with the Demons