The world champions, however, hit back to reduce the touring side to 43 for three by the close on a day marked by indifferent batting and questionable umpiring rather than a suspect pitch.
It was Australia's lowest first-innings total on home soil since 1992-93.
Left-armer Vaas was cheered from the field at Darwin's Marrara Oval as the tourists made light of the absence of key spinner Muttiah Muralitharan after Australia collapsed from 72 without loss.
Muralitharan, so often Sri Lanka's matchwinner, withdrew from the tour after being upset by Australian criticisms of his controversial bowling action.
Sent in by Marvan Atapattu, the home side lost their last seven wickets for 30 runs in an innings lasting 71.3 overs.
All of the top order except for Matthew Elliott, standing in for the absent Ricky Ponting following a family bereavement, had made starts.
Darren Lehmann top-scored with 57 from 108 balls including seven boundaries before debutant paceman Lasith Malinga (two for 50) removed him and Adam Gilchrist in one explosive over.
Lehmann put on 97 for the fourth wicket with Damien Martyn, who scored 47.
Langer, on 30, swept off spinner Thilan Samaraweera in the air to Upul Chandana at backward square leg.
Elliott, in his first Test for five years, went 10 balls later for one, caught at second slip by Russel Arnold off Vaas.
After the break, Vaas had Hayden caught in the gully by Jayasuriya for 37 in the third over of the new session to make it 80 for three.
Martyn, the only right-hander in Australia's top seven, was caught at point by Arnold off left-arm spinner Sanath Jayasuriya from the last ball before tea at 177 for four.
Lehmann reached his half-century with a cut to the boundary shortly after tea but was unsettled by a series of short balls from Malinga.
The 20-year-old right-armer had Lehmann playing across his crease and he went leg before wicket.
Australia's stand-in captain Gilchrist was then out for a third-ball duck, caught down the leg side by wicketkeeper Kumar Sangakkara as he tried to pull out of the shot.
Shane Warne was run out for two and Vaas had Simon Katich caught behind for nine before he wrapped up the tail to finish with figures of 18.3-6-31-5.
McGrath, playing his first Test for 12 months after an ankle injury, took two for 28 to reach 432 Test victims. The 34-year-old moved to fifth on the all-time wicket-takers' list, ahead of New Zealand's Richard Hadlee on 431.
McGrath removed openers Atapattu for four and Jayasuriya for two and Gillespie claimed his 200th Test wicket, trapping Sangakkara lbw for two in the last of the day's several debatable lbw decisions.
Australia first innings
J.Langer c Chandana b Samaraweera 30
M.Hayden c Jayasuriya b Vaas 37
M.Elliott c Arnold b Vaas 1
D.Martyn c Arnold b Jayasuriya 47
D.Lehmann lbw b Malinga 57
S.Katich c Sangakkara b Vaas 9
A.Gilchrist c Sangakkara b Malinga 0
S.Warne run out 2
J.Gillespie lbw b Vaas 4
M.Kasprowicz not out 2
G.McGrath c Samaraweera b Vaas 0
Extras (b-2 lb-6 nb-8 w-2) 18
Total (all out, 71.3 overs) 207
Fall of wickets: 1-72, 2-73, 3-80, 4-177, 5-189, 6-189, 7-201, 8-202, 9-207
Bowling: Vaas 18.3-6-31-5 (nb-1), Malinga 14-3-50-2 (nb-6, w-1), Zoysa 13-4-24-0 (w-1, nb-1), Samaraweera 9-1-43-1, Chandana 6-0-30-0, Jayasuriya 11-4-21-1
Sri Lanka first innings
M.Atapattu b McGrath 4
S.Jayasuriya lbw b McGrath 8
K.Sangakkara lbw b Gillespie 2
M.Jayawardene not out 12
N.Zoysa not out 8
Extras (lb-5 nb-4) 9
Total (for three wickets, 16 overs) 43
Fall of wickets: 1-10, 2-20, 3-33
To bat: C.Vaas, T.Samaraweera, T.Dilshan, R.Arnold, U.Chandana, L.Malinga
Bowling: McGrath 7-1-28-2 (nb-4) Gillespie 6-4-8-1, Kasprowicz 2-1-1-0, Warne 1-0-1-0.