A cabinet-level investigation team concluded the disaster was "caused by strong winds and heavy rains resulting from a squall line accompanied by a downburst, a very rare weather phenomenon", the Xinhua state news agency said, citing investigators.
The inquiry also uncovered problems in the shipping company's management and regulatory supervision, and investigators had "suggested" 43 people be punished, Xinhua added.
Only 12 people survived when the Eastern Star capsized during the storm on June 1. Many of the passengers were elderly tourists. It was China's worst shipping disaster in seven decades.
While the captain, Zhang Shunwen, tried to stabilise the ship it was overwhelmed by the sudden burst of wind and rain, and it took just a minute or so for it to flip over, Xinhua said.
But the captain was also unaware of the risks associated with the extreme weather, it added.
Zhang should have his ship captaining qualifications cancelled and legal bodies should look into whether he is suspected of any crime, it said, without elaborating.
The news agency did not identify the other 43 people recommended for punishment, but said they should get administrative punishments.
The shipping company has also been closed while it carries out "rectifications", it added.
An initial investigation found that the ship was not overloaded and had enough life vests on board.
The government has pledged there would be "no cover-up".