Возвращаясь домой, солдат встретил колдунью. Так направила его в дупло, где в 3 комнатах из 3 сундуков, охраняемых страшными собаками, он мог набрать медяков, серебра и золота, предварительно посадив собак на старухин клетчатый передник. За это она попросила принести ей находящееся там огниво. Выполнив все согласно указаниям старухи, солдат отрубил советчице голову и забрал огниво себе. Прогуляв все деньги, а вместе с этим и потеряв всех новых друзей, солдат опять зажил бедно. Однажды он зажег свечу, которая прилагалась к огниву и перед ним появилась собака из первой комнаты Оказалось, что с каждым ударом огнива появляется по собаке из того самого дупла. Солдат вновь зажил с размахом.
Одной ночью ему захотелось увидеть принцессу. Собака принесла красавицу; утром девушка рассказала королю и королеве свой сон, в котором она будто ехала верхом на собаке и солдат поцеловал ее. На следующую ночь фрейлина по приказу королевы отследила принцессу до ворот дома солдата, и поставила на этих самых воротах крест. Но собака увидела пометку и наставила крестов на всех соседних воротах. В следующий раз королева привязала на спину дочери мешочек с крупой, которая сыпалась на дорогу. Похитителя нашли и посадили в тюрьму.
В день казни подмастерье сапожника за 4 медяка принес солдату огниво. Последним желанием преступника было закурить после щелчка огнива появились все три собаки, которые стали подбрасывать всю честную публику так высоко, что, падая, люди разбивались. Солдаты попросили счастливца быть королем и взять в жены принцессу. Собаки тоже присутствовали за свадебным столом “и делали от удивления большие глаза”.