Han var søn af Martin Vahl, trådte 1808 ind i Hæren som volontør, blev 1811 kadet, 1813 stykjunker og 1815 sekondløjtnant i artilleriet. I 1827 fik han premierløjtnants karakter (graden opnåede han i 1830) og var 1833-39 anden skoleofficer ved Den kongelige militære Højskole, hvorefter han rejste til det sydlige udland. 1840 blev han sekondkaptajn ved 16. batteri og udnævntes 1842 til chef for 2. Artilleriregiments pontonnérkompagni, hvad der gav anledning til, at han i "Militært Repertorium" 2. række gav en beretning om kompagniets arbejder og foretagender i anledning af Det tyske Forbunds 10. Armekorpses koncentrering ved Lüneburg. Udnævnt til major 1849 blev han kommandør for fæstningsartilleriet i Fredericia, i hvis forsvar han deltog, og under hvilket han blev såret. I 1850 og 1851 var Vahl på Als ved belejringsartilleriet, hvorefter han ansattes som kommandør for det holstenske forbundskontingents artilleri, idet han erholdt oberstløjtnants karakter og i 1854 anciennitet som sådan. 1856 blev Vahl chef for 2. Artilleriregiment, karakteriseredes 1861 som oberst og ansattes ved mobiliseringen 1863 som kommandør for artilleriet i Dannevirkestillingen; i februar 1864 blev han højstkommanderende artilleriofficer ved den aktive armé, hvilken stilling han varetog til fredsslutningen. Formentlig i overensstemmelse med artillerigeneralen, Mathias Lüttichau, men i modstrid med overkommandoens anvisninger udstedte han sin egen instruktion for artilleriets anvendelse under kamp. I 1865 afskedigedes han som generalmajor.