Dunlop had begun qualifying week on board the Triumph he had raced during the early part of the season, including at the North West 200 international road race.
In midweek he opted to switch to the Yamaha that had carried him to victory in recent years, and on which he recorded the first ever 130mph lap in the 600cc category.
Having set the fastest speed of the week in practice, the Ballymoney man found himself trailing Harrison and Todd in the early stages of Saturday’s race but edged ahead at Ballaugh Bridge midway round lap two and retained his lead until the chequered flag at the conclusion of the final lap.
His deficit to Honda rider Harrison at the end of the opening circuit was two seconds but the Yorkshireman was unable to sustain his early pace, dropping back to occupy the final rostrum spot.
Dunlop enjoyed a 4.5-second advantage over Todd after lap two and was five seconds in front after a further circuit of the 37.73-mile course, before setting the quickest lap of the race on his final lap at 129.214 to secure victory.
“I knew it was going to be tight and it took me a couple of laps to bed in,” explained Dunlop.
“We made a few changes and it was tough going. To beat Davey [Todd] in the form he is in at present is special.”
Todd was aiming to become the first Ducati-mounted rider to win a TT race since New Zealander Robert Holden won the Supermono race in 1995 but having fallen narrowly short of his maiden TT success will hope to go one better in the second Supersport outing on Wednesday.
James Hillier, James Hind and Josh Brookes rounded out the top six leaderboard.