Second son of the 4th Earl of Albemarle,he joined the Navy at the age of 13 in 1822. He was promoted Lieutenant in 1829 and Commander in 1833.
He served in the Spanish Carlist War, then off west Africa suppressing the slave trade. In1837 he was promoted Post Captain, and in 1841 sent to Borneo in command of HMS Dido to support James Brooke's campaign against Malay pirates. He met and admired Brooke and continued to support him for many years.
During the Crimean War (1853-5), he served as Captain of HMS St Jean d'Acre, a steam battleship, in the Baltic and the Black Sea. In July 1855 he commanded the Naval Brigade besieging Sebastopol. After the Crimean War he returned to China and fought Chinese pirates at the Battle of Fatshan Creek (1 June 1857), for which he was made KCB.
He was later Commander-in-Chief, Cape of Good Hope and West Coast of Africa Station (1860), Commander-in-Chief, China Station (1867) and Commander-in-Chief, Plymouth (1872). He was promoted Admiral of the Fleet in 1877, and retired from the active list in 1879.
He published three autobiographical books, The Expedition to Borneo of HMS Dido for the Suppression of Piracy (1846), A Visit to the Indian Archipelago in HMS Meander (1853), A Sailor's Life under Four Sovereigns (1899).
Keppel Harbour in Singapore is named after him.