In 1854, the sultan of Selangor Sultan Muhammad Shah appointed Raja Abdullah as Klang's administrator. Raja Abdullah and his brother Raja Juma'at had previously helped Raja Sulaiman pay a debt incurred during a failed mining venture, and was therefore rewarded with the chieftainship of Klang. Raja Mahdi (also spelt Raja Mahadi), Sultan Muhammad Shah's grandson and whose father Raja Sulaiman was the previous Klang's head, therefore became disinherited. Raja Abdullah and Raja Juma'at, who had opened very successful tin mines in Lukut, then obtained the finance to open tin mines near Kuala Lumpur in 1857. The success of the tin mines generated considerable revenues, and the struggle for the control of the revenues from the tin mines as well as political power were essentially the reasons for the war.
Sultan Muhammad died in 1857, and Sultan Abdul Samad took the throne after a power struggle. Sultan Abdul Samad however only controlled Langat and did not have absolute control over Selangor, which was then ruled by four chieftains in Bernam, Lukut, Klang and Kuala Selangor. When the disgruntled Raja Mahdi initiated the conflict, the Malays would split into two camps in the ensuing war. On Raja Mahdi side were Raja Mahmud, son of the Panglima Raja of Selangor; Raja Hitam of Bernam; groups of Sumatran settlers led by Mohamed Akib and his younger brother Nonggok. Raja Abdullah's faction included his son, Raja Ismail who continued the war after Raja Abdulla's death, later joined by Tengku Kudin and supported by the Sultan of Selangor. The Chinese tin miners were also divided between the two camps.
Some of the Malays however switched sides in the course of the war: for example Nonggok (later known as Haji Mohamed Tahir) switched to Raja Abdullah's side, and was appointed the Dato Dagang of Kuala Lumpur and Klang by Sultan Abdul Samad; Syed Mashhor, an Arab-Malay fighter from Pontianak was originally on Raja Abdullah's side but switched to that of Raja Mahdi; and Raja Muda Musa of Kuala Selangor also went over to Raja Mahdi's side. In the later stages Tengku Kudin gained the support of British colonial administrators and fighters from Pahang.
In 1866, Raja Abdullah leased Klang to two traders from the Straits Settlements: William Henry Macleod Read and Tan Kim Ching. Among the benefits of being a renter was tax collection from the opium trade, in which Raja Mahdi was involved. When the two traders went out to collect tax, Raja Mahdi was offended as he felt he was exempted from the tax, and refused to pay.
At that time there was also a long-standing animosity between the Bugis Malays (the Selangor royal family were of Bugis origin) and the Sumatran Batu Bara ethnic groups. Raja Abdullah, also a Bugis, refused to punish a member of the Bugis Malays he sent to guard Bukit Nanas but had murdered a villager from the Batu Bara ethnic group. The Batu Bara leader Mohamed Akib, then informed Raja Mahdi of the incident and said they would support him if he wanted to attack Raja Abdullah. Raja Mahdi, supported by the Sumatran traders, then laid siege to the fort of Klang. Mohamad Akib however was killed in 1867 while fighting inside the fort in the darkness one night, and his younger brother Mohamed Tahir later assumed leadership of the Sumatran Malays. Mohamd Akib's body together with several other slain Sumatran Malays were buried within the grounds of the fort, whose graves still remain there to this day.
Raja Abdullah evacuated with his family to Malacca, where he later died, while his two sons continued with the fighting. In March 1867, Raja Mahdi gained possession of the fort and control of Klang. One of Abdullah's sons, Raja Ismail, returned with three small ships to lay siege to Raja Mahdi, but was unable to take Klang.
When the Selangor Civil War broke out, Kapitan Cina Yap Ah Loy was faced with internecine fighting among dissident Chinese groups as well as attacks from Malay factions. The two largest Chinese gangs, the Hai San (based in Kuala Lumpur) and the Ghee Hin (based in the Kanching and Rawang area), had engaged in fighting to gain control of tin production in the town. The Chinese factions would eventually joined opposing sides in the civil war, with the Ghee Hin siding with Raja Mahdi, and the Hai San with Yap Ah Loy siding with Tengku Kudin.
At Kanching, the headman Yap Ah Sze who was an ally of Yap Ah Loy was murdered, most likely at the instigation of Chong Chong, another Hakka headman. Yap Ah Loy, the Chinese Kapitan of Kuala Lumpur, went to Kanching with his men to drive out Chong Chong, and many from the Kanching faction were killed. Chong Chong then took refuge in Rawang and joined Raja Mahdi's faction.
Yap Ah Loy initially stayed uncommitted in the Klang War, choosing to deal with whoever that was in power. After Raja Madhi took power in Klang, Raja Madhi had in fact organised a ceremony to formally invest Yap into the office of Kapitan in 1869. Later Yap recognized the authority of Tengku Kudin who had captured Klang after meeting him by chance in Langat. Chong Chong joined Syed Mashhor to attack Kuala Lumpur twice, but were unsuccessful both times.
In 1867, Tunku Dhiauddin Zainal Rashid, also known as Tengku Kudin, a prince from Kedah, married into the Selangor royal family. The Sultan appointed his son-in-law as Viceroy of Selangor to arbitrate between the warring parties, first on 26 June 1868.
Raja Mahadi however flatly refused the peace effort. Offended by Raja Mahdi refusal to acknowledge his effort, Tengku Kudin sided with Raja Ismail instead. In March 1870, Raja Ismail with help from Tengku Kudin then besieged Klang. Raja Mahdi, defeated, then retreated to Kuala Selangor, which he captured from Raja Musa with help from Raja Hitam. Syed Mashhor, who served under Tengku Kudin, was sent to Kuala Selangor to help Raja Musa but switched side after learning that his brother had been killed by a son of the Sultan. Raja Mahdi allied with Chinese in Kanching who were enemies of Yap, then attacked Kuala Lumpur in 1870 with the Malay forces led by Syed Mashhor, and again in 1871, but both attacks were unsuccessful.
Meanwhile, with disruption to the economy and trade in the British Straits Settlements, and concerns over security especially occurrences of piracy, the British became increasingly involved in the affairs of Selangor. In July 1871, due to an attack by pirates that was traced to Raja Mahdi's stronghold Kuala Selangor, the British attacked and captured Kuala Selangor, drove Mahdi's men out and then handed the town to Tengku Kudin. Kudin however refused to yield control of revenue from the town to Raja Musa who had previously ruled Kuala Selangor, which prompted Raja Musa to join Mahdi's side. The Sultan of Selangor, who had bestowed Langat upon Tengku Kudin to help him fund his war, also began to be concerned about the rising power of Tengku Kudin.
In 1872, Raja Mahdi gained the support of a number of Malay chiefs, some of them members of Selangor Royal family. Leaders of Mandailing settlers in Selangor, Raja Asal and Sutan Puasa, also switched side to Raja Mahdi. Raja Mahdi's forces attacked Kuala Lumpur, and Raja Asal laid siege to Bukit Nanas where Tengku Kudin's forces 500 soldiers and various mercenaries including Europeans were stationed. The siege forced Tengku Kudin's men to try to escape, but they were captured in Petaling and killed. Yap Ah Loy managed to escape to Klang, but Kuala Lumpur was razed to the ground. Kuala Selangor was then captured by Raja Mahdi's forces.
Yap however was determined to recapture Kuala Lumpur, and assembled a force of around 1,000 men. Tengku Kudin also requested the help of Sultan of Pahang in 1872, and the Bendahara Wan Ahmad of Pahang sent him 1,000 men and other reserves in response. He also gained the support of the British colonial administrator Sir Andrew Clarke. In March 1873, Kudin's and Yap's men, with support from Pahang fighters, defeated Mashhor in Kuala Lumpur. The fighting went on for a few more months, and the capture of Kuala Selangor by the Pahang forces on 8 November 1873 largely ended the war. In 1874 Raja Mahdi was forced to leave for Johore and then Singapore, where he died in 1882.
Despite winning the war, Tengku Kudin was viewed with suspicion by the royal family of Selangor. Tengku Kudin's army from Pahang also refused to return to Pahang because they wanted to collect tax as payment for their service, and their refusal to leave made the situation worse for Tengku Kudin. The leader of the Pahang forces was allowed to collect the revenue of Kuala Selangor and Klang, while J. G. Davidson and others who helped funded Tengku Kudin were given favourable concession on mining land for ten years in Selangor. While the British through the new Governor Andrew Clarke was on Tengku Kudin's side, the post-war situation had weakened Tengku Kudin's support. Kudin remained the Viceroy of Selangor until 1878, but he had already left for Kedah by 1876, and later went on to live in Penang.
A significant development in this period is the beginning of direct British involvement in the affairs of the Malay states. The British were concerned about the effect of piracy and the disruption caused by the war to their trade and investments in the region, eventually siding with Tengku Kudin, in part because Mahdi and some of his followers had attacked shipping in the Straits. Colonial Secretary James W. W. Birch voiced his support for Tengku Kudin and lent him a ship to blockade Kuala Selangor, and Governor Sir Harry Ord also encouraged Pahang to back Tengku Kudin with fighters. Previously the British had a policy of non-intervention even though they had at times become engaged in local disputes. This war and other conflicts such as the Larut War in Perak led to the official abandonment of this policy in September 1873 by the Earl of Kimberley, Secretary of State for the Colonies, and set into motion the beginning of British administration in the Malay States.
In 1875, Sultan Abdul Samad accepted James Guthrie Davidson, a lawyer from Singapore, as the first British Resident of Selangor. In October, Sultan Abdul Samad sent a letter to Andrew Clarke requesting that Selangor become a British protectorate. This came after the signing of the 1874 Pangkor Agreement with the Sultan of Perak that marked the beginning of a period of indirect rule of the Malay states by the British Residents serving as advisers to the sultans.