Bereits 1837 trat Hornby als Midshipman in die britische Marine ein. 1845 wurde er Leutnant, diente als Flag Lieutenant unter seinem Vater Vice-Admiral Phipps Hornby, der ihn zum Commander (1850) machte und 1852 seine Beförderung zum Captain erreichte. 1840 nahm er an der Beschießung von Akkon teil und verfolgte danach zwei Jahre Sklavenhändler vor Ostafrika. Sein erstes eigenes Kommando hatte er im sogenannten Schweinekonflikt mit den USA um die San Juan Islands 1859, wobei er diplomatisches Geschick zeigte. 1865 wurde er Commodore und patrouillierte gegen Sklavenhändler vor Westafrika. 1869/70 war er Kommandeur eines "Flying Squadron" auf Weltumsegelung, das der Marineausbildung diente. Er wurde bis 1869 Konteradmiral (Rear Admiral), war 1871 bis 1874 Commander-in-Chief der Kanalflotte, 1874 Zweiter Seelord und wurde 1875 Vizeadmiral. Bei Ausbruch des Russisch-Türkischen Krieges 1877 wurde Hornby Befehlshaber der britischen Flotte im Mittelmeer und stationierte sich unweit von Konstantinopel. Auch hier konnte er durch diplomatisches Geschick die Situation entschärfen. 1882 bis 1885 war er Commander in Chief in Portsmouth.