Podczas wizyty w Niemczech występował u boku cesarza Wilhelma I. Obserwował wielkie manewry wojskowe. Obiecał cesarzowi pomoc Hiszpanii na wypadek konfliktu między Francją a Niemcami. thumb|Alfons XII z drugą żoną

Małżeństwo i potomstwo 25 stycznia 1878 poślubił księżniczkę Maríę de las Mercedes, córkę Antoniego Orleańskiego, księcia Montpensier i swojej ciotki – Ludwiki Ferdynandy Hiszpańskiej. Mercedes zmarła jednak sześć miesięcy po ślubie.

29 listopada 1879 poślubił arcyksiężniczkę Marię Krystynę Habsburżankę, córkę arcyksięcia Karola Ferdynanda i arcyksiężnej Elżbiety Franciszki. Miał z nią troje dzieci: Maríę de las Mercedes, księżnę Asturii, (ur. 11 września 1880, zm. 17 września 1904), tytularną następczynię tronu Hiszpanii, od czasu śmierci jej ojca aż do urodzin jej brata pogrobowca. W 1901 poślubiła księcia Karola Tankreda (syna Alfonsa, hrabiego Caserty) Maríę Teresę (ur. 12 października 1882, zm. 23 września 1912), która w 1906 poślubiła księcia bawarskiego Ferdynanda (syna jej ciotki Marii de la Paz) Alfonsa XIII (ur. 17 maja 1886, zm. 28 lutego 1941), który był królem Hiszpanii od momentu urodzenia i nigdy nie otrzymał żadnych innych tytułów, takich jak infant lub książę Asturii