It is reported to be the first time in a decade that China has made a large-scale military purchase from Russia.
Two of the submarines will be built in Russia and two in China.
The deal, signed just before last weekend’s visit to Moscow by the Chinese President, Xi Jinping, comes as both sides increase military co-operation.
Correspondents say Moscow and Beijing are trying to counterbalance what they see as American military dominance.
China is buying 24 Su-35 fighters and four Lada-class submarines, reported the Communist Party organ the People’s Daily and China Central Television (CCTV).
They did not put a value on the purchases.
China’s official defence budget rose by 11.2% in 2012 – pushing it above $100bn (£65bn) for the first time. But foreign experts have estimated that Beijing’s actual military spending could be as much as double the official budget.
US defence spending was reported as standing at more than $700bn.
Beijing – which is also embroiled in a bitter row over disputed islands with Japan – launched its first aircraft carrier last year.
“The Su-35 fighters can effectively reduce pressure on China’s air defence before Chinese-made stealth fighters come online,” the People’s Daily was quoted as saying.
It said the two countries were expected to co-operate further in developing military technology – including for S-400 long-range anti-aircraft missiles, 117S large thrust engines, IL-476 large transport aircraft and IL-78 aerial tankers.