The hosts lead the three-match series 1-0 with the two teams warming up for the 50-over World Cup later this year in India.
Stand-in-skipper Hardik Pandya praised Jadeja, who also claimed two wickets with his left-arm spin and took a stunning catch to be named man of the match, and Rahul for their calmness.
"The way KL and Jaddu (Jadeja) finished it off and the way they batted, gave us the confidence," said Pandya. "It was very relaxing outside watching them bat."
Fast bowlers Mohammed Shami and Mohammed Siraj took three wickets each after Australia lost their way from 129-2 following India's decision to field first.
The Australian innings turned on its head after Marsh, who is playing as a specialist batsman after recovering from an ankle injury, departed in the 20th over.
He put on 72 runs for the second wicket with skipper Steve Smith and smashed 10 fours and five sixes to take the wind out of the Indian bowlers.
Marsh reached his fifty with a boundary and another four took Australia past 100 before he fell to Jadeja in his attempt to go after the left-arm spinner and was caught.
Rocked at Wankhede
Australia suddenly faltered as Shami, with help from Jadeja and Siraj, ripped through the rest of the Australian order.
"We weren't expecting this when we rocked up here," Smith said of the low-scoring match at the usually run-filled Wankhede Stadium. "India bowled well this morning, but we probably left a few (runs) out there."
Josh Inglis, who donned the wicketkeeping gloves after Alex Carey was ruled out sick, looked good in his knock of 26 before being bowled by Shami.
Shami then sent back Cameron Green (12) and Marcus Stoinis (5) to break the back of the opposition batting.
Australia's pace spearhead Mitchell Starc hurt India early in the chase with three wickets after Stoinis trapped opener Ishan Kishan lbw for three.
Starc, a left-arm quick, then struck with successive deliveries to send back Virat Kohli (4) and Suryakumar Yadav (0) -- both lbw.
Rahul, who recently lost his place to Shubman Gill in the final two Tests against Australia after an extended batting slump, played out the hat-trick ball but Starc dismissed Gill for 20.
Rahul and Pandya, who made his debut as ODI captain in the absence of regular skipper Rohit Sharma, put on 44 runs.
Pandya fell to Stoinis on 25 but Rahul stood firm with Jadeja, who hit the winning runs.
Rahul reached his 13th ODI fifty and then changed gears as he hit Adam Zampa for a four and six as India won with more than 10 overs to spare.
The second ODI is on Sunday in Visakhapatnam.