North Melbourne dominated play for much of the day against Sydney at Blundstone Arena, but ultimately fell short by nine points.
The Swans were forced to hold off a spirited North fightback to seal the 12.13 (85) to 10.16 (76) victory.
They now move ahead of Hawthorn on percentage with Adelaide and Geelong a chance to join them on 16 wins by the end of the round.
Josh Kennedy, Luke Parker and Dan Hannebery racked up plenty of touches, while Callum Mills and Dane Rampe were again influential off half-back.
The Roos showed some encouraging signs, but were hampered by a groin injury to defender Scott Thompson, who was put on ice early in the second quarter.
The pace was at times frenetic, including an even third term that produced five goals for each side, but the Swans maintained the upper hand.
North stalwart Brent Harvey booted three goals and two behinds to go with 32 disposals, while Nick Dal Santo and Ben Brown kicked two majors each.
The loss leaves North vulnerable in eighth spot with the Demons a chance to close the gap to just win should they beat Carlton on Sunday.
North Melbourne: Key defender Scott Thompson managed just the one disposal before pulling up lame early in the second quarter with a groin problem.
Sydney Swans: Swans fans must have collectively held their breath when Lance Franklin limped from the ground in the first term. He worked back into the match after half-time and Longmire suggested he will take on the Tigers next week.
The Kangaroos face a huge challenge against the Giants but will be glad to play host at Etihad Stadium for the potential finals decider. For the Swans, Richmond awaits at the SCG and top spot looks just about nailed on.
NORTH MELBOURNE 3.4 4.8 9.13 10.16 (76)
SYDNEY SWANS 5.4 6.8 11.9 12.13 (85)
GOALS
North Melbourne: Harvey 3, Dal Santo 2, Brown 2, Petrie, Goldstein, McKenzie,
Sydney Swans: Rohan 2, McVeigh 2, Hannebery 2, Hewett, Papley, Lloyd, Heeney, Kennedy, McGlynn
BEST
North Melbourne: Harvey, Wells, Dal Santo, Swallow, Tarrant, Macmillan
Sydney Swans: Hannebery, Parker, Kennedy, Mills, Mitchell, McVeigh
INJURIES
North Melbourne: Scott Thompson (groin)
Sydney Swans: Lance Franklin (hip)
Reports: Nil
Umpires: Bannister, Schmitt, Meredith
Official crowd: 16,495 at Blundstone Arena