Nach seinem Studium in Berlin und Göttingen promovierte er 1859 an der Universität Berlin, erhielt hier 1862 nach der Habilitation die Anstellung als Privatdozent und 1869 als Assistenzprofessor für Physiologie. 1876 wurde er Dozent für Physiologie und Vorstand des physiologischen Laboratoriums an der Berliner Tierarzneischule. 1880 wurde er als ordentliches Mitglied in die Preußische Akademie der Wissenschaften aufgenommen und erhielt 1897 eine ordentliche Honorarprofessur an der Universität Berlin. Im Jahr 1883 wurde er zum Mitglied der Leopoldina gewählt.