The 33-year-old quick bowler took four early wickets as Sri Lanka crumbled to 15 for four and then 40 for five in a vain pursuit of India's 292 for six in their Super Six match at The Wanderers on Monday.
Marvan Atapattu, Jehan Mubarak and Aravinda de Silva were all dismissed for ducks, before Srinath claimed the most prized Sri Lankan wicket as Sanath Jayasuriya carved him straight to cover.
Srinath's early burst helped India to a 183-run win -- their biggest ever over Sri Lanka -- and guaranteed them a place in the semi-finals.
He finished with four for 35, taking his haul for the tournament to 14.
The quietly spoken Srinath wanted to retire after the Test series in the West Indies in June last year but Ganguly made a personal plea to India's finest fast bowler of the last decade to return
That Srinath did during the Champions Trophy in Colombo last year, coming back into the side for the first of two washed out attempts to play the final as the trophy was shared.
He has been a virtual ever present in the side since then, taking 18 wickets in India's most recent one-day series, a 5-2 defeat in New Zealand in January.
At the time of his recall Srinath was playing county cricket for Leicestershire but immediately boarded a plane for Colombo.
His four wickets against Sri Lanka took his career tally to 313. Srinath came into the World Cup requiring one more wicket to become only fifth bowler to take 300 wickets in one-day internationals, and the second Indian after compatriot Anil Kumble.
He was made man of the match on Monday, but, typically, suggested that the award belonged elsewhere.
"I think the batsmen did most of the job today, the credit goes to them," he said.