Marsh, playing his first match of the tournament after suffering a testicular injury, highlighted the top order verve Australia have been missing with eight fours and a six.
Head had made 50 runs combined in his past four innings, but he reached that landmark in 27 balls with a brutal display of hitting, posting seven fours and three sixes.
With the pair rampant Australia, who had been put in to bat, were 0-70 at the end of the six-over power play with Marsh hitting the final five balls, bowled by the dangerous Maheesh Theekshana, to the boundary.
But in mid-innings the spinners changed the game. After Head was caught on the boundary for a 29-ball 56 wickets tumbled and the rate slowed.
From 0-104 Australia slumped to 4-130 with Marsh among them, lbw on review for a 27-ball 54.
Head’s exit had brought in Green, but he was quickly stumped. With scores of 21, 0 and 3 in the competition he was a contentious selection given the arrival of Steve Smith and the good form of Matt Renshaw. The Queensland batter made way for Marsh despite being top scorer with 65 in the shock loss to Zimbabwe that had put Australia under pressure to win this match.
Sri Lanka beat Australia by eight wickets.Credit: Getty Images
Tim David (six) was also caught in the deep and it could have been worse. Josh Inglis, who was the third best score with 27, should have been stumped first ball.
His eventual departure, after Glenn Maxwell (22) had been superbly caught by Nissanka reverse sweeping, prompted another clatter of wickets, the last five going down for seven runs in 12 balls.
It still looked a testing target and Australia made an early inroad when Stoinis had Perera caught at deep point. But Nissanka and Kusal Mendis then added 97 off 66 balls to keep the match in the balance.
Loading
It took the return of Stoinis to break the partnership, Mendis being caught by Connolly at deep mid-wicket for a 38-ball 51.
But that was as good as it got for Stoinis. The new batter, Pavan Rathnayake, carted his first two balls for four and 20 were taken of Stoinis’ next over, the 15th.
That brought the target down to 41 off five overs. Sri Lanka only needed three taking 10, 18 and 15 off them with Nissanka completing a majestic century off what proved the penultimate delivery.
More to come