Pujara scored a double-century and Saha notched up a ton as the duo produced a partnership of 199 runs to enable India declare their first innings at 603/9 for a lead of 152 runs.
Australia had scored 451 in their first innings.
Pujara scored 202 runs off a marathon 525 deliveries with 21 hits to the ropes. This was the third Test double-century for Pujara and his second against Australia.
The Saurashtra batsman also created the record of most balls faced in an innings by an Indian batsman.
He is the first Indian to face more than 400 balls in a Test innings at home since V.V.S. Laxman batted 452 deliveries during his 281-run knock against Australia during the Kolkata Test in 2001.
Pujara's marathon innings came to an end soon after the double-century when he tried to loft a Nathan Lyon delivery over midwicket and Glenn Maxwell pulled off an excellent catch.
Saha was also in excellent form at the other end, scoring 117 runs. His third century in the longest format of the game came off 233 deliveries and included eight boundaries and a six.
The hosts' first essay consumed 210 overs, the most numbers of overs that India have ever batted against Australia in a single innings. The previous highest was 202 overs during the Adelaide Test in 2004.
Among the other Indian batsmen, opener Murali Vijay scored 82, while Jadeja remained unbeaten on 54.
Fast bowler Pat Cummins was the most successful among the Australian bowlers with figures of 4/106.
Left-arm spinner Steve O'Keefe returned figures of 3/199 while pacer Josh Hazlewood and off-spinner Lyon claimed a wicket each.
After skipper Virat Kohli declared the India innings with less than hour to go for stumps, left-arm spinner Jadeja claimed the wickets of David and Nathan Lyon to leave Australia struggling at 23/2 in their second outing when play was called for the day.
Jadeja notched up figures of 6/2 off the 3.2 overs he has bowled so far.
The visitors now trail India by 129 runs.
Earlier, resuming the penultimate day at 360/6, Pujara and Saha batted steadily as the hosts closed the deficit slowly but surely.
The two stitched together an unbeaten 107-run stand for the seventh wicket, with Pujara batting on 164 and Saha on 59. This is the highest run partnership in the innings.
Both batsmen survived two LBW appeals before lunch as they were on the right side of their respective Decision Review System (DRS) calls.
Throughout his marathon stay at the crease, Pujara was involved in a total of six partnerships.
The Saurashtra right-hander, who was rock solid on the backfoot, took a liking to Steve O'Keefe's bowling, scoring a lot of runs off the left-arm spinner.
But what got captain Virat Kohli smiling was the fact that India got both their reviews right on the money. First Saha was given out when he was batting on 19 and the score was 362/6.
But after the diminutive wicketkeeper-batsman went upstairs, replays showed the ball was missing leg stump.
Pujara was next, taking the DRS after umpire Ian Gould had adjudged him leg before to a Lyon delivery. But reviews showed that the delivery pitched on the off-stump line and turned a tad too much to miss the leg stump, forcing the umpire to reverse his original decision.
Pujara was an epitome of concentration as he brought up his 150 in typical fashion, stealing a run with a defensive jab.
Shortly before the lunch interval, Lyon again appealed and then referred, this time for caught behind when Saha executed a sweep shot.
But replays found no evidence of contact leaving the visitors more frustrated.
Pujara and Saha batted the entire post-lunch session as well before going back in quick succession after the tea break.
After Lyon had sent back Pujara, Saha fell just three overs later when he tried to chip an O'Keefe delivery over cover only to see Maxwell pull off another excellent catch.
Jadeja and Umesh Yadav then added 54 runs between them before Kohli decided to announce the declaration.
(With inputs from IANS)