Jerry Bengtson had the best chance for Honduras but his shot was cleared off the line by defender Ricardo Rodriguez.
Honduras finished bottom of Group E with three defeats from three matches.
And their 54-year-old coach Luis Fernando Suarez resigned after the defeat by the Swiss, saying change was “necessary for the benefit of the Honduran team”.
Shaqiri, who can play on the left wing or through the middle, was the difference between the sides with his first World Cup goals.
The 22-year-old has been linked with a move to the Premier League, with Liverpool and Manchester United reported to be interested in signing him, and impressed with his clinical finishing.
Switzerland, ranked sixth in the world and the top-seeded team in the group, began the day in third, but needed to win and hope Ecuador failed to beat France.
With the South Americans only managing to draw 0-0 in Rio, that left an opportunity for Ottmar Hitzfeld’s team to move into the last 16 for the third time in six tournaments.
After losing 5-2 to France in their last match, Switzerland produced a better performance in Manaus and went ahead with Shaqiri’s sixth-minute opener.
Three Honduras defenders backed off as he cut in from the right, allowing him space to curl an effort past Noel Valladares.
The game looked to be over after 30 minutes when poor defending from Honduras allowed Drmic to collect Gokhan Inler’s ball from defence and square it for an unmarked Shaqiri, who converted calmly.
From then on, Switzerland’s hopes were resting on events at the Maracana, but Ecuador’s failure to match their result means the Swiss advance to face Argentina in the second round in Sao Paulo on Tuesday.
However, Honduras have now failed to win any of their nine World Cup matches in three separate tournaments.
The tough-tackling Central American side struggled on a pitch that was cutting up even inside the opening 10 minutes at Arena Amazonia on a night when humidity was measured at 88%.
Wigan’s Juan Carlos Garcia dragged a shot wide and Brayan Beckeles also missed when well placed in the Hondurans’ only notable efforts of the opening 45 minutes.
But they produced a greater threat after the break and Bengtson was unlucky as he took the ball around goalkeeper Diego Benaglio, only to shoot against Rodriguez.
Suarez’s side were then denied a penalty when substitute Jerry Palacios was bundled over by Johan Djourou, and any faint hopes they may have had ended when Shaqiri scored his third in the 71st minute.
He collected another Drmic pass and finished past Valladares to complete his treble and set up a match against Lionel Messi and Argentina.
Honduras v Switzerland match facts
|Switzerland scored more than one goal in the first half of a World Cup match for the first time since 1966|
|The two sides met in a World Cup group match in 2010 and it ended 0-0 on that occasion|
|Honduras have conceded two or more goals in four of their last five World Cup matches|
Honduras coach Luis Fernando Suarez, who announced he had resigned, said: “I am not satisfied by what we achieved at the World Cup.
“The team will have good results in the future, but someone can replace me. I am sad I didn’t manage to fulfil the mission they entrusted me with.
“I’m going to go on with my career. I still have a lot of will to work and do things for soccer. I will be always be connected and listening to news about Honduras and always try to help them.”
Switzerland coach Ottmar Hitzfeld said: “Not only did we play a strong team but we played against the weather.
“The players showed the right attitude and will and we surpassed ourselves. Passion comes from suffering and we really suffered.
“Whenever you reach the second round it is a great motivation and we are highly motivated. We are going to write history.
“We do have a chance, even against Argentina. It is going to be a match where we have nothing to lose.”
Switzerland striker Xherdan Shaqiri: “I wanted to show we could play soccer and that’s what we did. I played very well and I’m happy about that and proud of the team.”