Neither team could find a breakthrough in the first half, but the introduction of Fredy Guarin during the interval changed the course of the match, as the Colombian set up Antonio Cassano for the opener in the 50th minute, before adding the second with a deflected 20-yard effort.
Inter had numerous chances to further extend their lead, but were forced to play out the last 10 minutes nervously after goalkeeper Luca Castellazzi was injured with all three substitutes already used, forcing Rodrigo Palacio to mind the net.
But the incident would come too late for Verona, with the visitors unable to take advantage of the misfortune of the Nerazzurri, who now await either Napoli or Bologna in the quarter-finals.
Both sides started the match positively, though it was Inter who fashioned the first opening 13 minutes in. Palacio found himself in a good shooting position on the edge of the box, but elected to square to McDonald Mariga, who could not find the target.
Verona quickly went on the attack and Juan Jesus was forced to make a timely intervention to snuff out a dangerous cross by Paulo Grossi, who then dinked just wide after collecting the loose ball.
The Siena loanee was proving to be a real handful for the Inter defence and was at the centre of things once again as he released Daniele Cacia for a shot on the turn that brushed off the outside of the post.
Cassano then went close with a free kick that was bent the wrong side of the post before Armin Bacinovic responded in kind for Verona with a set piece that flew just off target.
Still, the best opening of the first half fell Inter’s way just before the interval, as a sublime on-two between Palacio and Ricky Alvarez saw the latter denied from point-blank range by the alert Rafael in the visitors’ goal.
Andrea Stramaccioni threw on Guarin for Mariga to start the second half and, within 10 minutes of his introduction, the midfielder would turn the match on its head.
With 50 minutes on the clock, the Colombian won the ball in the Verona half and wasted little time in slipping in Cassano, who sprinted clear of the last defender, rounded Rafael and slotted home to open the scoring.
Guarin was not finished, as four minutes later he doubled Inter’s advantage when he converted from the edge of the box via a deflection, after a neat link-up with Cassano on a set piece.
Verona were suddenly all over the place in defence and Palacio nearly added a quickfire third after seeing his clever lob clawed around the post by Rafael following more good work from Cassano.
The Argentine forward went close again within moments, after a dreadful goalkick from Rafael saw the ball ricochet of him, but, thankfully for the Verona keeper, roll just wide of the post.
Cassano was at the heart of most of Inter’s offensive play and the veteran forward came to the fore again with a nifty backheel to set up Palacio for a close-range shot, which was pushed over the bar by Rafael.
However, Verona should have made it 2-1 with 20 minutes left. Alessandro Carrozza’s delivery found Valeri Bojinov inside the area. His first touch took Matias Silvestre out of the equation, but with the goal at his mercy from six yards out, the substitute whacked the ball into orbit.
Bojinov would then play the role of provider, flicking for Cacia, whose half-volley forced an acrobatic save from Castellazzi, who was forced to hand the gloves to Palacio after injuring himself in the landing.
But the Argentine would prove to be a more than able deputy between the posts, making an impressive save on Carrozza in stoppage time to preserve the clean sheet for Inter, and seal their progression into the quarter-finals.