American Scheffler started the final round at sunny Augusta National with a three-shot advantage over Australian Smith and quickly saw it chopped to one after two holes.
But the 25-year-old American did not panic, carding a one-under 71 to post a winning total of 10-under 278, three clear of Rory McIlroy, to collect his first major title.
McIlroy had the round of the day by returning an eight-under 64 as the Northern Irishman made a stirring late charge in a bid to claim the elusive Masters title that would have allowed him to complete the career Grand Slam.
Though having left his run too late to catch Scheffler, McIlroy nevertheless electrified the crowd when he holed a 55-foot bunker shot at the par-four 18th.
After landing the ball on the edge of the green and watching it curl slowly and deliciously downhill into the middle of the hole for a birdie, a pumped-up McIlroy reacted as though he had just won the Masters.
"That's as happy as I've been on the golf course right there," McIlroy said. "Probably come up a little bit short but I gave it a great go and I can't ask anything more of myself.
"It's going to be my best finish ever, probably not quite good enough but I'll come back next year and keep trying."
McIlroy's 64 was the eighth in the final round at the Masters, the most recent by Jordan Spieth in 2018. Greg Norman and Nick Price hold the outright course record of 63.
The year's first major was poised for a thrilling showdown between the planet's two hottest golfers in Scheffler, winner of three of his last five PGA Tour starts, and Smith, who claimed golf's unofficial fifth major at the Players Championship in March, headed out in the final pairing.
That was the way the final round unfolded until the par three 12th in the heart of notorious Amen Corner when Smith, trailing Scheffler by three, put his tee shot into Rae's Creek and took a triple bogey six, sending him down the leaderboard.
A rattled Smith never recovered, slumping to a one-over 73 to finish five back in a tie for third with Irishman Shane Lowry, who closed with 69.