India's Mohammed Shami took five wickets Friday to restrict visitors Australia at 276 in the first one-day international after the hosts won the toss and chose to field in Mohali.

The visitors looked set for a bigger score with a half-century by opener David Warner and key cameos by Josh Inglis and Marcus Stoinis before Shami took three wickets in quick succession in the later part of the first innings.

Shami gave a perfect start for India after stand-in skipper KL Rahul won the toss and dismissed dangerous Mitchell Marsh in the very first over.

Warner and veteran Steven Smith stabilised the Australian innings with a 94-run stand before Warner fell to the left-arm spin of Ravindra Jadeja.

Smith fell soon after to leave visitors struggling at 112-3.

India's veteran off-spinner who made a surprise return to the ODI squad removed a well-set Marnus Labuschagne and finished with 1-47 in his 10-over spell.

With Australia at 166-4 in the 36th over, a passing shower briefly disrupted play before a key partnership between Inglis and Stoinis tried to take the initiative from the hosts.

But Shami returned in the later part of the innings to remove Stoinis, Matthew Short, and Sean Abbott to finish his 10 overs with 5-51, leaving hosts with a below-par target of 277 to win the game.

Australian skipper Pat Cummins, who returned to the team after a wrist injury, remained unbeaten after an important cameo of 9-ball 21.

Both teams see the three-match ODI series as a key preparation for their World Cup campaign next month.