The Italians, the reigning world champions, overpowered the nine-time Games winners to advance.
Hungary had been chasing their fourth consecutive gold medal, but three defeats from six games in the tournament have put an end to their recent domination of the sport.
Italy went ahead in the second period of the match, firing home a thunderbolt for a 5-4 lead, and they were only occasionally troubled as they did not fall behind for the rest of the game.
The sides traded man-up goals in the opening minute of the third period, but it was Italy who pushed on to score another man-up, before firing in a penalty to pull ahead by three goals for the first time.
Hungary did have chances to pull goals back but did not capitalise on their opportunities.
Peter Biros, the Hungarian captain, kept the Beijing 2008 gold medallists in the hunt by blasting in a penalty before Italy restored their three-goal cushion from a counter-attack.
Two goals for Hungary put them back within sight of the Italians, who failed to score a man-up chance with three minutes left on the clock.
The world champions struck with a long-distance effort with 60 seconds remaining to yet again put two goals between them and their opponents.
With 39 seconds left, a Hungary power-play goal gave them a glimmer of hope, but as they piled forward in search of an equaliser, Italy flicked the ball across their goal-line to win 11-9.
Italy will now face a clash against Serbia, who had to battle against Australia earlier in the day - winning 11-8.
Serbia scored six unanswered goals in the second half to propel them to the semis.
Australia shocked the reigning European champions and pre-tournament favourites by dominating the first two quarters.
But the Serbians came back from an 8-5 losing position in the third period to win and dump the Australians out.
Filip Filipovic scored a hat-trick for the winning side, as Zivko Gocic and Andrija Prlainovic netted doubles.
In the other half of the draw, Boris Zlokovic was the four-goal hero as Montenegro marched on to the last four with an 11-9 win over Spain.
The Spaniards fought back in the final quarter, but strong second and third periods proved decisive for Montenegro, who hung on for victory.
Montenegro will now hope to improve on Beijing 2008, where they lost a semi-final to eventual winners Hungary, only to lose again to rivals Serbia and come in fourth place, missing out on a medal.
They will now face Croatia, who cruised into the semi-finals with an 8-2 win over the USA.
Five unanswered goals in the first half put the contest beyond doubt long before the final whistle.
Croatia are the only team with a 100 per cent record in the tournament with six wins from six.