A tightly-contested first half in which Huw Jones and Mack Hansen exchanged tries ended with the visitors leading 8-7.
But the world's top-ranked side – who lost five players to injury during the match – scored 14 points without reply after the break as James Lowe and substitute Jack Conan touched down either side of the hour mark, paving the way for an ultimately comfortable 22-7 victory in which Johnny Sexton became the joint-leading points scorer in the tournament's history.
The Irish will secure the Grand Slam if they defeat England in Dublin on Saturday, while the Scots – after opening with back-to-back wins – go into their final match at home to Italy with little to play for other than pride.
Prior to kick-off Stuart Hogg was accompanied on to the pitch by his children ahead of his 100th cap. The Scotland full-back was visibly emotional during the national anthems, and his son then returned to the field to present the match ball.
Hogg had to quickly get his game face on, however, as Ireland set about making their presence felt in the early stages, threatening the try-line. The Scots were forced into a change after just six minutes when lock Richie Gray went off injured and was replaced by Scott Cummings.
Ireland almost made the breakthrough in the 11th minute when Hansen was picked out wide on the right but Duhan van der Merwe did just enough to pull him into touch. The Irish had already earned a penalty advantage and Sexton duly kicked between the sticks from close range to get his side off the mark.
This phase of play came at a cost, however, as Caelan Doris went off injured and was replaced by Jack Conan.
After doing well to ride out the early period of pressure by conceding just three points, Scotland forced their way into the game. They got themselves in front in the 17th minute when Jones bounded over after being set up by his fellow Glasgow centre Sione Tuipulotu following a sustained period of pressure in front of the Irish line.
There was a further blow for the men in green as Dan Sheehan went off immediately after the try to be replaced by Ronan Kelleher, and remarkably Iain Henderson became the third Irish player forced off by injury when he went off to be replaced by Ryan Baird in the 24th minute.
Having looked temporarily rattled by the Scots, Ireland regained their composure and hit back in the 28th minute when Hansen managed to plant the ball down just inside the line despite the best efforts of Van der Merwe to force him out after a looping pass out to the right from Hugo Keenan.
Sexton was wide with his conversion attempt, and the visitors went in at the end of a ferociously-contested first half with a one-point lead.
Ireland got themselves some breathing space for the first time in the match when Lowe evaded the attention of Kyle Steyn to touch down in the 57th minute after his team-mates had done well to work the ball from right to left. Sexton made no mistake with the conversion.
And five minutes later, the Irish went further ahead when substitute Conan bolted over on the right after an offload from Hansen. Sexton was again successful in adding the extras to take his Six Nations all-time total to 557 – level with Ronan O'Gara.
Ireland's injury woes continued when Garry Ringrose went off on the buggy in the closing stages, leaving head coach Andy Farrell with a string of fitness concerns ahead of his rampant side's shot at glory next weekend.