the SCG on Saturday.
The Hawks trailed by 47 points after at half-time, but rallied to be less than four goals down midway through the third quarter.
However, the home side steadied to claim their 10th win of the season, 19.15 (129) to 13.7 (85), and leapfroge Hawthorn into seventh place.
The Hawks struggled for four-quarter performers, but Jordan Lewis, Sam Mitchell and Brent Guerra were among their best. Lance Franklin finished with four goals, all of which came in the second half.
For the Swans, Kieren Jack was outstanding at the clearances all day, Heath Grundy held Franklin at bay for three quarters while Ryan OKeefe and Adam Goodes shared seven goals.
Lewis Jetta finally broke a run of 19 successive behinds with his first league goal midway through the final term sparking a standing ovation from the SCG crowd.
The Swans were dominant in the first half, rekindling the form that carried them to the top of the ladder after six rounds.
Jack, Jude Bolton and Josh Kennedy controlled the clearances, allowing their outside runners plenty of time and space to execute their passes.
The Swans led by almost eight goals at half time but the Hawks emerged a far more committed unit in the third quarter, booting five of the first six goals.
Lewis was a constant threat across half-forward, setting up teammates and kicking two majors of his own. However, his influence was matched at the other end by Ryan O'Keefe, who added two goals for the term.
When Adam Goodes added his third goal late in the quarter, the Swans led by 30 points and the Hawks' revival looked to have been in vain.
An early goal to White in the final quarter made the margin six goals and effectively snuffed out the visitors' charge despite Franklin's best efforts.
The Swans now face a trip west to take on fifth-placed Fremantle while Hawthorn hosts a resurgent Melbourne at the MCG.
Sydney Swans 5.4 10.10 13.12 19.15 (129)
Hawthorn 1.1 3.5 9.6 13.7 (85)
GOALS
Sydney Swans: O'Keefe 4, Goodes 3, McGlynn 3, Dennis-Lane 3, Moore, McVeigh, Jack, Kennedy, White, Jetta
Hawthorn: Franklin 4, Lewis 2, Roughead 2, Stratton, Ladson, Bateman, Moss, Burgoyne
BEST
Sydney Swans: O'Keefe, Jack, Goodes, Grundy, McGlynn, McVeigh
Hawthorn: Mitchell, Gibson, Lewis, Franklin, Guerra, Burgoyne, Stratton
INJURIES
Sydney Swans: Nil
Hawthorn: Nil
REPORTS
Sydney Swans: Nil
Hawthorn: Nil
Umpires: Donlon, Chamberlain, Jeffery
Official crowd: 29,431 at the SCG
The views in this story are those of the author and not necessarily those of the clubs or the AFL.