The result, Germany's fourth straight 1-1 draw, extended the unbeaten run of Hansi Flick's side to 12 matches but leaves them still without a win three games in the campaign.
Early in a pulsating first half the Puskas Arena erupted with ear-splitting noise when wing-back Nagy blasted home from close range after Manuel Neuer had palmed out a Roland Sallai header.
But the home crowd's delight lasted just three minutes until Hofmann pounced on a precision through ball by David Raum, rounded Peter Gulacsi and finished into an empty net for the equaliser.
Slick Germany posed the greater danger though with Chelsea's Kai Havertz steering a header from Raum wide before the impressive 1899 Hoffenheim winger sailed a curler round Gulacsi's right post.
Hungary had pulled off a shock 1-0 home win over England a week ago and spurred on by their raucous fans they bustled with endeavour, with a drive from busy winger Attila Fiola forcing a reflex save from Neuer just before the break.
With no let-up in tempo in the second half Germany gradually upped the pressure and Hofmann should have scored his second with a quarter hour to go.
The pacy Borussia Monchengladbach winger found himself clear on goal but underhit his side-pass to Timo Werner allowing Willi Orban to clear.
The Magyars squandered their own gilt-edged chance soon after when substitute Martin Adam, well-placed in the area, headed a Dominik Szoboszlai cross straight at Neuer.
Another home sub Daniel Gazdag then warmed Neuer's gloves with a rasping effort from the edge of the box ten minutes from the end.
After three draws so far Germany will play their final match of the June international break at home against Italy on Tuesday.
The same day League A debutants Hungary, now on four points, visit England in Wolverhampton before the group campaign concludes in September.