A Chinese warship has run aground while patrolling contested waters adjacent to the Philippines in the South China Sea.

The frigate pinned itself to a reef last night at Half Moon Shoal, on the south-eastern edge of the Spratly Islands, and remains "thoroughly stuck", according to Western diplomatic sources shortly after midday local time, or 2pm AEST.

Salvage operations could be diplomatically challenging, given the vessel appears to have run aground within 200 kilometres of the Philippines coast, which is squarely within what Manila claims to be its Exclusive Economic Zone.

The stricken People's Liberation Army Navy vessel, believed to be No. 560, a Jianghu-class frigate, has in the past been involved in aggressively discouraging Filipino fishing boats from the area.

The accident could not have come at a more embarrassing moment for the Chinese leadership, who have been pressing territorial claims and flexing the country's muscle ahead of a leadership transition later this year.