The relegated Spireites - who played the final 24 minutes with ten men following Dan Gardner’s dismissal - had earlier levelled twice, courtesy of Kristian Dennis (penalty) and Paul McGinn, to cancel out strikes from Kieron Freeman and Billy Sharp.
But the Blades had the final word, with Lafferty’s fourth goal of the season enabling them to record their 30th win of the campaign and become the first side in Yorkshire to reach a century of league points since York City achieved that feat in 1983-84.
Watched on by a bumper crowd of 31,003, the Blades, who made one change with Jake Wright returning to the starting line-up for James Wilson, dominated possession in the first period, but after conjuring a breakthrough from Freeman, they were pegged back shortly before the interval when the Spireites were awarded a penalty.
Simon Moore’s rash challenge on Reece Mitchell made the spot-kick decision relatively simple for referee John Busby with Kristian Dennis coolly sending the Blades custodian the wrong way.
The relegated Spireites showed spirit in the first half, with Dennis spurning two early opportunities.
Seven minutes in, the forward saw a low shot creep just wide before racing clear on 15 minutes, only to see his weak shot parried by Moore.
United, whose best early opportunity saw Leon Clarke fire off target from an acute angle, gradually took control and took the lead on 19 minutes.
A lateral run from Paul Coutts saw him evade several challenges before unleashing a low shot which was parried by Thorsten Stuckmann and after Tom Anderson blocked Billy Sharp’s follow-up, Freeman was on hand to bundle the ball home from close range.
The Blades went desperately close to doubling their tally on 36 minutes when a fine pass from Mark Duffy picked out Sharp, whose pinpoint low strike was tipped onto the post by Stuckmann.
The hosts suffered a blow on 42 minutes when Clarke left the fray after pulling up with an injury, with the last significant development of the half seeing the Spireites level.
A quiet start to the second half burst into life when Basham made a saving block to deny Dennis after great work by Liam Grimshaw, who soon flashed a well-struck volley inches wide.
But a familiar source afforded the advantage again to the Blades just before the half mark, with Sharp’s clincial downward header beating Stuckmann after a fine cross from substitute Samir Carruthers.
But for the second time, the Spireites refused to be cowed and restored parity, with Paul McGinn coolly firing the ball low past Moore after Freeman did well to block Reece Mitchell’s angled shot.
Almost immediately, the visitors were reduced to ten men with Gardner seeing red after an altercation with Sharp at the centre circle just before the re-start.
The Blades pushed for a winner, with Sharp inches away with a clever shot and turn and then going close from a similar effort after James Hanson won the knock-down.
Veteran sub Ritchie Humphreys spurned a chance to give the Spireites a shock lead when he chipped over, but the hosts were not to be denied.
Lafferty’s low shot beat Stuckmann as the Blades reached 100 points, a fitting end to a wonderful season.
Sheffield United: Moore; Basham, Wright (Chapman 69), O’Connell; Freeman, Coutts, Fleck, Lafferty, Duffy (Carruthers 53); Clarke (Hanson 42), Sharp. Substitutes unused: Long, Done, Wilson, Chapman, Brooks.
Chesterfield: Stuckmann; Hird, Anderson, Maguire; McGinn, Nolan, Grimshaw, Gardner, Mitchell (Faupala 69); Rowley (Humphreys 81), Dennis (Beesley 90). Substitutes unused: Fulton, Dimaio, Kakay, Wakefield.
Referee: J Busby (Oxon).
Attendance: 31,003 (597 Chesterfield supporters).