The navy has picked Chinese submarines costing 12 billion baht each to be commissioned in the force, a source on the procurement committee says.
The majority of the 17-strong committee voted to buy three Chinese submarines, saying it was the "best value for money".
The rest were split between submarines from Germany and South Korea.
The navy also received offers from Russia, Sweden and France.
The source said China beat other competitors as it offered subs equipped with superior weaponry and technology. Its subs are also able to stay underwater longer.
Deputy Prime Minister and Defence Minister Prawit Wongsuwon backs the submarine project, citing a growing territorial threat and an increasing number of maritime missions. He said many neighbouring countries are also deploying submarines.
Gen Prawit said he would forward to the cabinet the navy's submarine procurement decision once it becomes available.
Before the procurement panel made its decision, Gen Prawit was quoted by a navy source as saying that if the submarines were not bought by the current government, the navy might not have the chance to get them again.
In 2011, the navy looked into the purchase of six German-made submarines at a cost of 7.7 billion baht.
However, the project was rejected by the then Yingluck Shinawatra government.
The navy revived the submarine project after the May 22 military coup last year amid speculation that China would win the deal to build and supply subs to Thailand, given the military government's strengthening relations with Beijing.
The government earlier gave the navy 200 million baht to study the feasibility of buying the submarines and gather information on a proposed procurement.
A member of the navy procurement panel noted the Chinese have advanced rapidly in the development of armaments.