The Gunners made a strong start and went in front in the eighth minute when Vermaelen converted Robin van Persie’s corner.
The Toffees got a grip on proceedings and had what appeared to be a legitimate goal chalked off in the 31st minute when the flag was raised against Royston Drenthe, but the visitors held on to secure a win that sees them leapfrog Tottenham, who drew 1-1 with Stoke.
Arsenal are a point clear of their north London rivals with nine games left to play and look good to secure a Champions League berth, with fifth-placed Chelsea – defeated 2-1 at Manchester City – now five points behind Spurs.
Everton, meanwhile, remain 10th having failed to add the Gunners to their recent list of big scalps.
Fit-again Aaron Ramsey replaced the benched Alex Oxlade-Chamberlain in the only change to the Arsenal starting line-up from their 2-1 league win over Newcastle on March 12, with fellow midfielder Mikel Arteta making his first return to Goodison Park since leaving Everton for the Gunners last summer.
The Toffees team showed two adjustments from Saturday’s 1-1 FA Cup draw with Sunderland, winger Steven Pienaar – available again after being cup-tied for that match – and defender Tony Hibbert coming in for Phil Neville, who was named among the substitutes, and the injured Seamus Coleman.
After the players of both teams emerged from the tunnel wearing t-shirts to show their support for Bolton’s former Arsenal midfielder Fabrice Muamba following his cardiac arrest at the weekend, it was the visitors who set the early tempo once the game got under way.
Having already miscued one decent opportunity in front of goal in the sixth minute, Ramsey won a corner with a blocked shot moments later and from Van Persie’s delivery, Vermaelen found the space to nod the Gunners into the lead.
Everton goalkeeper Tim Howard then got down to keep out an effort from Van Persie before Leon Osman headed the Toffees’ first attempt at goal wide.
The home side began to settle a little and around the half-hour mark thought they had equalised when Drenthe slotted in at the end of a passing move.
The effort was ruled out for offside, though – a decision that enraged Everton boss David Moyes, with replays indicating that Drenthe had been onside when the through-ball to him had been played.
Arsenal keeper Wojciech Szczesny then survived a scare as his kick went directly to the head of Nikica Jelavic, the Toffees striker unable to guide the ball on target.
The same assistant referee had his flag up twice more soon after to halt Jelavic and Drenthe’s progress, with both calls looking debatable and drawing boos from the crowd.
The Gunners had gone quiet in attack but offered a reminder of their threat just before the interval as Howard batted away a drive from Tomas Rosicky.
The pressure from Everton resumed after the restart, with Szczesny jumping to catch a header from Marouane Fellaini two minutes into the second period.
At the other end, Arsenal were shown the flag for offside as Van Persie cracked a shot against the post, before Everton’s Leighton Baines sent a dangerous ball flashing across goal which none of his team-mates could get on the end of.
Fellaini was then adjudged to have been offside as he had a shot tipped wide by Szczesny in one of the most convincing-looking calls of the evening.
Howard was called into action to put a shot from Ramsey behind as the Gunners attempted to finish their opponents off.
Drenthe went close to levelling with a fierce effort that just cleared the crossbar, but Everton could offer no more and after Van Persie had skewed a shot off target, the points were confirmed as Arsenal’s.