More than two hours and 45 minutes of play were lost to rain in a stop-start day at the Sydney Cricket Ground (SCG), where the tourists fell away in the early evening gloom after winning the toss and making a solid start.
Denesh Ramdin, unbeaten on 23, and Carlos Brathwaite (35 not out) will resume on day two, weather permitting.
The hosts had rolled the dice on the twin spin attack at the SCG for the first time in a decade and got their reward when Lyon and O’Keefe got plenty of turn off a straw-coloured wicket.
Off-spinner Lyon (2-68) produced a stunning delivery that pitched wide and turned in to take the bail off Jermaine Blackwood’s off stump for 10 and returned after the second rain break to remove dangerman Kraigg Brathwaite for 85.
Left-arm orthodox spinner O’Keefe (1-42) then pitched in to have West Indies captain Jason Holder caught superbly at short leg by Joe Burns and claim his first test wicket on Australian soil.
Trailing 2-0 in the three-match series after thumping defeats in Hobart and Melbourne, West Indies had started the day by building on their improved batting performance in the second test.
After the early loss of opener Shai Hope (nine), Kraigg Brathwaite and Darren Bravo (33) looked in fine nick as they ushered the tourists to lunch at 92 for one.
Australia’s bowlers emerged from the break re-energised, however, and James Pattinson got the breakthrough when Bravo’s miscued pull sent the ball flying to Usman Khawaja running in from the deep.
That broke a 91-run partnership and brought Marlon Samuels to the crease looking to break his run of eight test innings without getting to the 20-run mark.
He failed in farcical fashion looking for a quick single that always looked like a gamble, left stranded when Brathwaite scuttled back to his crease as Peter Nevill broke the stumps.
After a long glare at his partner, Samuels headed back to the pavilion with four runs to his name and the rest of the players and umpires followed in his wake as heavy rain came down on the ground.
Kraigg Brathwaite had brought up his eighth test half-century just before lunch by clipping all-rounder Mitchell Marsh past long leg for two runs off the 78th ball he faced.
He fell 15 runs shy off his fifth test century when Lyon got a little bit of extra bounce to a delivery which caught the opener’s glove and was snaffled up by Steve Smith at slip.