"...despite the Beiyang Fleet being his personal domain, Li was able to do the impossible and persuade the fleet commanders of the Nanyang and Guangdong Fleets to carry out a preemptive surprise attack on the Far East Squadron. With the combined force of the two southern fleets, the plan was to rapidly knock out France's most impressive naval capabilities [1] and eliminate the notoriously aggressive Courbet's force projection capabilities further east. Li's eye was particularly on Korea, which he was to reinforce with his Beiyang Fleet -the best equipped in the Qing Navy - and to keep the Fujian Fleet in harbor while armies were raised and the scope of the war could be assessed. Despite French ships observing the Nanyang Fleet leave Shanghai, the Triomphante lost sight of the enemy in stormy weather near Formosa and it was not until the full weight of the Guangdong Fleet had passed a French scout near Hongkong that it became obvious that both fleets were live in the South China Sea. Courbet did not receive the message in time, and the spotter near Hainan was sunk clandestinely as the two fleets - the Nanyang under Admiral Li Chengmou, the Guangdong under Admiral Wu Quanmei - passed on the north side of the island rather than south of it as the French had anticipated.
Though skirmished between the French Foreign Legion in southern Korea and pro-Chinese forces would mark the first blood shed in the war, the Battle of Ha Long Bay in Tonkin marked the first true engagement, and was the premier naval battle of the war. Two Chinese fleets sailed into the vast bay, replete with inlets, on a particularly foggy morning on April 2nd, 1884, and engaged Courbet's fleet the day before they were due to disengage from Tonkin and engage in campaigns in Chinese waters. The Chinese had the element of surprise and the upper hand of aggressiveness, managing to sink the gunboats Lynx, Aspic and Lutin in the immediate crossfire before Courbet ordered his ships to disperse among the many islets of the bay. As the vessels hunted one another - now through fog created by gunpowder - the Chinese technological disadvantage revealed itself, especially ships in the smaller and less modern Guangdong fleet, picked off easily by the French, and Admiral Quanmei went down on his flagship Haijing, and soon thereafter the steel gunboat Zhenhai ran aground and was picked apart by Courbet's flagship, the Bayard.
Critically, France lost none of her ironclads or 1st-class cruisers, and though she would lose four gunboats, three torpedo boats, and the cruiser Volta. Nevertheless, a substantial number of vessels in the fleet took heavy damage and after the fighting raged deep into the night, the Chinese - having taken on substantially heavier losses both in ships lost as well as ships damaged, and many of their sailors picked off the decks by French rifle fire - were ordered to retreat by Admiral Li.
The Battle of Ha Long Bay thus was a tactical draw, with perhaps a slight edge to China; Courbet's fleet had suffered damage that would be difficult to repair at Hongkong, let alone at Cam Ranh, both approaches requiring leaving the relative safety of Ha Long to brave the open South China Sea. However, it was not the decisive blow China had sought, and French reinforcements were inbound already. Despite a plan to re-engage the French on open seas after the muddled draw, Admiral Li refused, and instead consolidated his fleet into one and sailed for Formosa to defend the straits north, dispatching men at Canton to tell the Court in Peking that the Fujian Fleet would have to make further offensives if ever they would leave Fuzhou. The Triomphante, on its own, harassed Li's fleet back to the mainland, even managing to sink a gunboat near Amoy [2].
So the strategic objective for China was lost - they did not sink Courbet's fleet to the bottom of Ha Long Bay and end the war in a single blow. Instead, as they would discover, the enraged Courbet was only beginning to gather his strength..."
- The Sino-French War
[1] If this sounds like the magical thinking behind Pearl Harbor, you're right, and also is similar to how OTL's Sino-French War got started - albeit in August of 1884 - when Courbet sailed into Fuzhou and sank the Fujian Fleet as a preemptive maneuver when hostilities broke out. Here, China makes the first move
[2] Archaic name for Xiamen
(All vessels and fleet personnel from OTL)