Thirimanne capped the win in perfect style, cutting a Glenn Maxwell delivery past point for four to finish unbeaten on 102 and claim his century with the winning ball.
Sri Lanka's bowlers set the stage by bowling out the hosts for a disappointing 170 earlier in the day, and Thirimanne and Tillakaratne Dilshan - who made 51 - then dominated with the bat to wrap up victory with 59 balls to spare.
The damage was done for Australia in the morning, as they were reduced to 83 for six before a half-century from Brad Haddin at least gave them a fighting chance.
Haddin made 50 off 67 balls to help avoid a collapse, but was the last man out, caught at midwicket off Ajantha Mendis.
Lasith Malinga took three for 32 while there were two wickets each for Angelo Mathews and Thisara Perera.
Sri Lanka won the toss, delayed by a wet outfield, and chose to field in the bowler-friendly conditions.
They passed up an early chance of a breakthrough when, after three balls, Dilshan missed the stumps when a direct hit would have run Phil Hughes out by a distance.
But the first wicket soon arrived as Aaron Finch hit a Mathews delivery straight to Ajantha Mendis to leave the hosts on seven for one.
Australia limped to 12 before first-game centurion Hughes departed for three, trapped in front by Nuwan Kulasekara.
It took until the ninth over for Australia to find the boundary, and George Bailey was almost out in hitting the second, finding the ropes after his outside edge narrowly eluded Mahela Jayawardene in the slips.
Bailey smacked a six off Thisara Perera in the 14th over, kick-starting the Australian innings as David Hussey followed with successive fours, but Malinga had his revenge when he had Bailey caught by Thirimanne for 26 in his next over.
The score was just 51 and the middle order failed to fire as Australia's problems grew.
Steve Smith got a rare outing at five, but he lasted just 11 deliveries as he went for eight, swinging wildly at a Thisara Perera delivery to edge to Kushal Perera, who took his first international catch.
A hesitant Hussey was then run out for 29 thanks to a direct hit from Dilshan, and Maxwell lasted just two more deliveries before departing for eight, edging Mathews behind to Kushal Perera.
Debutant Ben Cutting outshone several more experienced colleagues with 27 as he and Haddin staved off the threat of collapse, and the score was 140 when Cutting succumbed to Malinga, giving Kushal Perera a third catch.
His fellow new cap Kane Richardson fared less well with a golden duck, bowled by Malinga, before the Pereras combined again to dispatch Clint McKay for four, Kushal catching him off Thisara.
Xavier Doherty added an unbeaten five before Haddin fell on 50 to end the innings.
Sri Lanka's reply got off to an inauspicious start with Upul Tharanga falling for a third-ball duck, caught behind off McKay, and there were a few wobbles for Thirimanne and Dilshan as they built the decisive partnership.
The duo survived a couple of early scares before settling down and they had put on 62 before Australia had another sniff of a wicket, with Steven Smith dropping a tough chance to remove Thirimanne at midwicket off Doherty when he was on 35.
Three balls later Dilshan, on 25, survived an lbw call that Australia had reviewed, but Sri Lanka were still comfortable with time to spare and wickets in hand.
Dilshan almost missed out on his half-century, driving straight back at Richardson when on 49 and watching with relief as the debutant got a hand to it but could not hang on.
However, he was out soon after with Cutting claiming his first ODI wicket as Dilshan spooned the ball up to Maxwell at point.
His departure barely ruffled Sri Lanka, by then on 137 and well set for a victory that was wrapped up a little under seven overs later.
It is Sri Lanka's first win of the tour after they were swept 3-0 in the Tests.