Those sacked were accused of involvement in 17 cases of bogus purchases of supplies, drugs and equipment at inflated prices, the spokesman, Harry Roque, told reporters.
Civilians and military officials were among those sacked.
He said the servicemen faced a court martial process.
Duterte was “personally aggravated and angered”, having recently ordered that 50 million pesos (936,908 dollars) be made available to the main military hospital where the offences took place, Roque said.
Military chief Carlito Galvez said he was angered to learn that men in uniform had profited by inflating the prices of prosthetics bought for soldiers who had lost limbs in battle.
In his campaign against corruption, Duterte has sacked dozens of officials, including many of his own appointees.