Australia declare on 654-6 in first Sri Lanka Test
Khawaja's 266-run third-wicket partnership with skipper Steve Smith, who hit 141, stood out after Australia elected to bat first at the start of the two-match series in Galle.
It was the first time the tourists had breached the 600-run mark in Sri Lanka, surpassing their previous Asian high of 617, posted in Pakistan in 1980.
Wicketkeeper-batsman Alex Carey was unbeaten on 46 with Mitchell Starc on 19 when Smith declared the first innings in the final session.
Inglis made it count when he walked in after Smith departed on 141 in a landmark innings that got the stand-in skipper to 10,000 Test runs.
Inglis looked fluent and got into the groove as he and Khawaja kept up the batting surge in a 146-run stand to tire out the opposition attack.
Spinner Prabath Jayasuriya broke the partnership to get Khawaja caught behind as the opener walked back after 352 balls that included 16 fours and one six.
Inglis reached his ton off 90 balls as he jumped in delight, punched the air and raised the bat with his proud parents watching from the stands.
But he soon got out in the next over as he gave away a catch to short cover off Jayasuriya.
Jayasuriya and fellow spinner Jeffrey Vandersay took three wickets each as Sri Lanka toiled for 154 overs.
The tourists resumed on 330-2 as overnight batsmen Khawaja and Smith frustrated the opposition attack on a sunny morning.
Khawaja took a single off Jayasuriya to reach 200 as he removed his helmet, raised his bat and dropped down to kiss the turf while teammates and fans stood up to applaud.
His previous best was an unbeaten 195 against South Africa in 2023 at Sydney.
The 38-year-old struck his 16th Test ton on day one and resumed on 147 before becoming the first Australian batsman to make a double ton in Sri Lanka.