President Ram Nath Kovind's office tweeted the change in portfolio on Saturday afternoon.
Prime Minister Narendra Modi had not named anyone to take Ashok Gajapathi Raju's place in the cabinet when he accepted the TDP minister's resignation earlier this week.
Suresh Prabhu had been shifted to the Commerce Ministry from the Railway Ministry in September 2017 after he took "full moral responsibility" for a string of rail accidents that happened under his charge.
But before he made the offer, the government also told the Railway Board chairman AK Mitta to put in his papers and brought in Ashwini Lohani, the railway service officer who had risen to become Air India chief to ensure the railways stays on tracks.
The Commerce Ministry was the ninth cabinet level position that Mr Prabhu has held in his political career, initially as a lawmaker of BJP ally Shiv Sena and later, the BJP. He had then insisted that his shift to the Commerce Ministry wasn't a demotion as some of his critics had suggested it was.
"I am extremely happy that the prime minister has asked me to do something in Make In India, Start-up India, and ease of doing business in India," he had said.