Newcomer Richardson took three wickets and Cummins four as the home side dismissed Sri Lanka for just 144.
Australian opener Marcus Harris then batted assuredly to finish on 40 not out at the close of play as the home side finished the day 72 for two.
Australia lost opener Joe Burns on 15 during the difficult night session to a fine outswinger from Suranga Lakmal, while Usman Khawaja (11) chopped on a ball from off-spinner Dilruwan Perera 10 minutes before the close.
Sri Lankan captain Dinesh Chandimal earlier won the toss and elected to bat first on a hot and humid Brisbane afternoon but the visitors were forced to battle hard against the Australian attack.
The 22-year-old Richardson bowled with real pace and found just enough movement to trouble the Sri Lankans, who struggled to come to terms with the bouncy Gabba wicket.
Richardson, who only came into the side after Josh Hazlewood was ruled out with injury, had figures of 3-26 to lead an impressive Australian display with the ball.
Pat Cummins chimed in to clean up the tail, finishing with 4-39.
The only Sri Lankan batsman to show any resistance was wicketkeeper Niroshan Dickwella, who was not out on 42 at the break after a combination of resolute defence with some audacious attacking shots.
The Sri Lankans began cautiously and moved the score to 26 before Lahiru Thirimanne on 12 tried to drive Cummins, only to edge a comfortable catch to Marnus Labuschagne at third slip.
Richardson was impressive in his first spell in Test cricket, hitting the pads of the Sri Lankan openers numerous times.
He was finally rewarded with the wicket of Chandimal, well caught by a diving Joe Burns at second slip to leave the visitors at 31 for two.
Mendis replaced his skipper at the crease and he and Dimuth Karunaratne fought hard to try and rebuild the visitors' innings.
But with the score on 54, Lyon drew an edge from Karunaratne, on 24, and wicketkeeper Tim Paine took a sharp catch, high and to his left to put the home side in charge at the first break.
Mendis had looked good before the break but he was undone by a superb Richardson delivery three balls after the resumption, which squared him up and crashed into the stumps.
Dhananjaya de Silva and Roshan Silva came and went quickly and they were in further disarray when a Cummins short ball crashed into Dilruwan Perera's thumb, forcing the off-spinning all-rounder to retire hurt. Mitchell Starc took his 200th Test wicket when Labuschagne held a sharp catch at third slip to dismiss Suranga Lakmal for seven, then had his 201st soon after when Perera, who had returned to the crease, got a thick edge to give Labuschagne his third catch.
But a fine swashbuckling 64 from 78 balls by Dickwella rescued Sri Lanka and gave the score some semblance of respectability.
The Brisbane Test is the first of a two-match series against Sri Lanka. AFP