Arsenal moved into the Premier League's top four at West Ham United's expense as goals by Gabriel Martinelli and Emile Smith Rowe earned a 2-0 win in a lively London derby on Wednesday.
Brazilian forward Martinelli struck just after halftime with a clinical finish and substitute fellow youngster Smith Rowe eventually gave a dominant Arsenal some welcome breathing space with a superb 87th-minute effort.
It could have been a more comfortable night for Arsenal had Alexandre Lacazette, captain again in place of the disciplined Pierre-Emerick Aubameyang, not had his penalty saved midway through the second half.
West Ham, for whom Vladimir Coufal was red-carded after conceding the penalty, failed to produce the kind of form that has seen them stationed in the top four since October.
They huffed and puffed and threatened sporadically but home keeper Aaron Ramsdale's only real save was from a Jarrod Bowen effort shortly after Martinelli's opener.
Victory hoisted Arsenal up two places into fourth spot with 29 points from 17 games with West Ham on 28.
The pre-match build-up had been dominated by Arsenal's decision to strip Aubameyang of the captaincy for another lapse of discipline. But just as in the comfortable win against Southampton at the weekend, Arsenal did not miss him.
Mikel Arteta's side responded with a vibrant second-half display after a rather scrappy opening half hour, with French forward Lacazette, who also wore the armband against Southampton, leading by example.
Disappointing as they were, West Ham's players were furious at Anthony Taylor's decision to show Coufal a second yellow card. Replays showed he had made contact with the ball before sending Lacazette tumbling for the penalty, although Moyes was in no mood to make excuses.
"I didn't think a lot of our performance generally, Arsenal played well with good intensity and we couldn't deal with it," Moyes said. "(Coufal) got the ball but he should have got more of the ball."
A frantic opening half saw West Ham's Craig Dawson slice the first chance of the night high and wide while Pablo Fornals curled a right-footed effort wide for the visitors.
But as halftime approached Arsenal were dominating and were close to taking the lead when Kieran Tierney's fiercely-struck shot was touched on to the crossbar by keeper Lukasz Fabianski.
Fabianski was then alert to keep out Lacazette's shot before Dawson produced a goal-saving tackle to stop Martinelli pouncing on the rebound.
It did not take Arsenal long to take the lead in the second half as Lacazette was given too much space and time to slide a pass through to Martinelli who calmly shot past Fabianski.
Lacazette was a constant menace and went down under a challenge from Coufal and the referee pointed to the spot, before showing the Czech defender a second yellow card.
Fabianski saved Lacazette's spot kick and as further chances went begging it seemed Arsenal might pay for their failure to finish off the lacklustre visitors.
But Smith Rowe came off the bench and soon raced on to a pass by the impressive Bukayo Sako before curling home left-footed to make the points safe.
Ayew strikes as Palace hold Southampton to 2-2 draw
Crystal Palace forward Jordan Ayew scored his first goal for the club in 13 months to secure a 2-2 home draw with Southampton in the Premier League on Wednesday.
The Ghanaian netted from close range in the 65th minute after quickfire goals from James Ward-Prowse and Armando Broja had cancelled out Wilfried Zaha's early opener for Palace in a pulsating first half.
The result lifted Palace two places up to 11th on 20 points from 17 games while Southampton stayed 15th on 17 points, six above the bottom three although 18th-placed Burnley have two games in hand.
Palace manager Patrick Vieira was unhappy after his team threw away an early lead.
Ward-Prowse had mixed feelings about the outcome after Southampton faded away in the second half.
"I don't think we started the game very well but got back into it, a scrappy goal we conceded ultimately cost us all three points," he said.
Zaha struck in the second minute when he cut inside and fired a low shot past two defenders inside the near post, with Palace missing several chances to double their lead before Ward-Prowse levelled with a 32nd-minute free kick.
The Southampton captain curled in a delightful effort from 25 metres with home goalkeeper Jack Butland unable to keep it out although he got his fingertips to the ball.
With the home side reeling, Albania striker Broja turned the tide in the 36th minute when he took the ball in his stride and drilled a low shot from 20 metres into the bottom right corner.
Visiting keeper Willy Caballero denied Odsonne Edouard with a double save in the 58th minute and also deflected away the striker's shot seven minutes later but Ayew was perfectly placed to sweep in the rebound from a tight angle.
Neither side were able to find a breakthrough in the closing stages, with Palace looking the more likely to score with several raids down the right flank.
Saiss volley gives Wolves victory at struggling Brighton
Romain Saiss struck a superb volley in first-half stoppage time to give Wolverhampton Wanderers a 1-0 win at Brighton & Hove Albion in the Premier League on Wednesday as the home side's winless run extended to 11 league games.
Despite their squad being depleted by injuries, suspensions and COVID-19 infections, Brighton had the better chances in the first half, and the visitors suffered a blow when Korean striker Hwang Hee-Chan had to be replaced after 16 minutes.
The home side thought they had cleared the danger from a corner just before the break, but Ruben Neves chipped a beautiful ball over the defence and Saiss was on hand to score with a deft volley.
Fernando Marcal's looping cross bounced off the top of the crossbar just after the break as Wolves upped the tempo. Brighton struggled to keep up, and Saiss almost claimed a second but his thunderous shot hit the post.
Though Yves Bissouma missed a gilt-edged chance from point-blank range, Brighton were mostly limited to pot-shots from distance in their desperate chase for an equaliser.
Wolves could have put the game beyond doubt as substitute Adama Traore orchestrated a three-on-one counter-attack, but Daniel Podence fired his drive straight at the keeper .
A problem with the referee's communications equipment at the beginning of the second half contributed to 13 minutes of stoppage time, but Brighton barely managed to force a save from Jose Sa in the Wolves goal.
Brighton, who have not won since beating Leicester City 2-1 on Sept. 19, are 13th in the table on 20 points, with Wolves four points above them in eighth.
"I've known Ruben very well for a lot of years and it was a fantastic pass but I deserve credit for the finish with my right foot. I never use my right foot," Saiss told BT Sport.
Brighton coach Graham Potter was disappointed with the goal his side conceded.
""(The) effort was there, it's been a difficult week for us, but not good enough tonight to get the three points," he told BT Sport.
"There's no excuses. I believe in the guys that were on the pitch ... it's been a tough week, but it's probably been a tough week for lots of teams. That's where we are at at the moment."
Haaland double helps Dortmund to beat Fuerth 3-0
Borussia Dortmund's Erling Haaland scored once in either half to steer his team to a 3-0 victory over bottom club Greuther Fuerth on Wednesday and cut the gap to leaders Bayern Munich to six points.
The Norwegian opened his account in the 33rd minute and then grabbed his 53rd league goal in 53 Bundesliga matches in the 82nd with a powerful header.
Dutchman Donyell Malen added a third with a smart finish at the far post in the 89th for his fifth goal in six games in all competitions.
Dortmund are in second place on 34 points, with Bayern top on 40 following their 5-0 demolition of VfB Stuttgart on Tuesday.
"The performance was a lot of hard work. We had chances but we were a bit sloppy, not fresh enough," Dortmund coach Marco Rose said after his team's first win in the last three league games.
"We made too many mistakes, had some good phases and also had good chances. But overall it was not the performance we wanted. Everyone felt it."
"It was not a good game from us and expectations from us are high. But I hope the result is some consolation," Rose said.
Fuerth, who got their first win of the season last week, kept the hosts at bay for about 25 minutes before a superb Haaland no-look pass found Thorgan Hazard whose one-touch finish went in but was ruled offside.
Haaland scored a little later with his well-struck penalty following a hand ball and could have added another goal minutes later but could not direct the ball into the net from eight metres.
Fuerth almost scored with a sucker punch in the 38th but Cedric Itten's shot sailed just wide.
Haaland made sure of the three points, powering in a header from a Julian Brand free kick eight minutes from the end for his 13th league goal of the campaign before Malen's last-minute goal.