Richards joined the navy in 1837. He served in the Opium Wars against China, in South America, the Falkland Islands, New Zealand and Australia. He was promoted to Captain in 1854 and from 1857-59 he was in charge of HMS Plumper and from 1860-63 HMS Hecate.
He was the second commissioner in the British Boundary Commission for British Columbia (Pacific to the Rockies), and was a hydrographer on the coast of British Columbia in 1856-63. In the Vancouver area, he is responsible for the naming of False Creek. In 1859, after his engineer Francis Brockton found a vein of coal, he named the area of Coal Harbour. In 1860, he named Mount Garibaldi after Giuseppe Garibaldi.
In 1864 he was appointed Hydrographer and held that position until 1874 when he retired, (although some sources say he retired in 1877). Richards was knighted in 1877, received the KCB in 1881 and became an Admiral and a Fellow of the Royal Society in 1884.