Amad Diallo has scored a 90th-minute winner as Manchester United staged a stunning late comeback to beat Manchester City 2-1 in the Premier League.
Four-time defending champions City had led the Manchester derby 1-0 going into the 88th minute at the Etihad Stadium on Sunday.
But Bruno Fernandes levelled the game from the penalty spot before Diallo flicked the ball past Ederson to score the winner for United.
City fans jeered at the final whistle as their once dominant team’s woeful run of form extended to one win and eight losses in 11 games.
“I am the boss, the manager and I’m not good enough. It’s as simple as that. I have to find the way to talk to them, train them, the way you have to play and the way you have to press, to build-up,” City boss Pep Guardiola said.
“I’m not good enough, I’m not doing well. That is the truth.
“If it was always the same problem, it would be fixed. ‘Oh it’s that player’ – it’s fixed, don’t play [him]. But it’s not that. Matheus did an incredible effort playing left-back, played really, really, really good. But it’s happened, it’s football. Move forward.”
It was their fifth loss in seven EPL fixtures: “Previously we didn’t lose that many in two seasons,” Guardiola said.
“Now we’ve done it in eight games. You have to defend. We have lost a lot of games. It’s difficult. We have to move on and try to find the solution and try to win games.
“I think in nine years it wasn’t the toughest defeat. Champions League defeats harder. But at the moment, we need results to lift our mood. It’s getting worse and worse. I have to find the solution. So far I didn’t find it and this is the truth.”
It was a first derby victory for new United head coach Ruben Amorim, who led Sporting Lisbon to a 4-1 win against City in one of his last games in charge of the Portuguese club in November.
But for a long time it looked like being a third-straight league loss for United after Josko Gvardiol’s headed goal in the 36th.
Fernandes was guilty of missing the target when through on goal in the second half and United struggled to create chances against a City team that rarely looked like adding to their lead.
But in a dramatic end to the match, Diallo raced after an underhit backpass from Matheus Nunes.
Nunes then brought down the United forward in the box and referee Anthony Taylor pointed to the penalty spot.
Fernandes made no mistake this time — sending Ederson the wrong way.
Moments later, Diallo was running onto a long pass from Lisandro Martinez, flicked the ball up to take the ball round Ederson and rolled it into the net from a tight angle.
United are now 12th and five points behind fifth-placed City.
Elsewhere, Ismaila Sarr scored twice as Crystal Palace beat Brighton 3-1.
The forward also provided an assist for Trevoh Chalobah in the win at the Amex Stadium, which lifted Palace four points clear of the relegation zone.
Brighton are now ninth and without a win in four matches.
Palace went ahead in the 27th minute through Chalobah, and Sarr doubled the lead for the visitors in the 33rd.
Sarr scored his second in the 82nd before Marc Guehi’s own goal – his second in the last four games – pulled one back for Brighton.
Wolves show manager the door
Gary O’Neil has been sacked as head coach of struggling Premier League club, Wolverhampton Wanderers.
The club sit one from bottom in England’s top-flight with nine points from 16 games after Saturday’s 2-1 home defeat to fellow strugglers Ipswich – Wolves’ fourth consecutive loss.
Emotions spilled over at full-time as Rayan Ait-Nouri was shown a second yellow card and Matheus Cunha also had to be restrained.
O’Neil was appointed in August 2023 following the departure of Julen Lopetegui and signed a new four-year deal with the club in August this year.
In a statement on the club website on Sunday, Wolves chairman Jeff Shi said: “We’re very grateful to Gary for all of his effort, dedication and hard work during his time at the club, and we wish him and his team the best of luck for the future.”
Former Manchester United manager Ole Gunnar Solskjaer, who was at Molineux on Saturday as a guest of Ipswich boss Kieran McKenna, is the early favourite with bookmakers to take over.
Portuguese boss Vitor Pereira – currently working for Al Shabab in Saudi Arabia – has also been linked with the role.
Wolves finished 14th in O’Neil’s first season at the club but they’ve found themselves in a relegation scrap this year.
Frustrations also boiled over in Monday night’s defeat to West Ham when Mario Lemina scuffled with Jarrod Bowen after the full-time whistle, resulting in the Wolves midfielder being stripped of the captaincy.
A new era of the UEFA Champions League is here, only on Stan Sport.
Wanderers were then beaten by Jack Taylor’s stoppage-time header on Saturday having taken an early lead through Matt Doherty’s own goal and following the full-time scuffles, O’Neil said his players needed to “take some responsibility”.
“We deal with things like that very, very seriously, as you saw last week,” O’Neil said.
“It’s annoying in that we’ve got enough to do at this moment in time, we’ve got enough to fix. So the players do need to take some responsibility.”
O’Neil also expressed frustration with the goals his side conceded, calling the first “unacceptable” for the ease with which Liam Delap barged past Nelson Semedo before crossing, then claiming his players had swapped assignments to allow Taylor the space to score the winner.
“The set-play goal, I would happily take responsibility for it if the players were stood in the right place,” he said.
“For some reason two of them have decided to change roles very late on in the game. I’m 100 per cent confident if they were in the right spot our player heads it away.
“That’s the players’ decision-making under stress. Players will change things around and try and find fixes all the time but that’s a real poor decision from them in an important moment.”
with AAP
// This is called with the results from from FB.getLoginStatus(). var aslAccessToken = ''; var aslPlatform = ''; function statusChangeCallback(response) { console.log(response); if (response.status === 'connected') { if(response.authResponse && response.authResponse.accessToken && response.authResponse.accessToken != ''){ aslAccessToken = response.authResponse.accessToken; aslPlatform = 'facebook'; tryLoginRegister(aslAccessToken, aslPlatform, ''); }
} else { // The person is not logged into your app or we are unable to tell. console.log('Please log ' + 'into this app.'); } }
function cancelLoginPermissionsPrompt() { document.querySelector("#pm-login-dropdown-options-wrapper__permissions").classList.add('u-d-none'); document.querySelector("#pm-register-dropdown-options-wrapper__permissions").classList.add('u-d-none'); document.querySelector("#pm-login-dropdown-options-wrapper").classList.remove('u-d-none'); document.querySelector("#pm-register-dropdown-options-wrapper").classList.remove('u-d-none'); }
function loginStateSecondChance() { cancelLoginPermissionsPrompt(); FB.login( function(response) {
}, { scope: 'email', auth_type: 'rerequest' } ); }
// This function is called when someone finishes with the Login // Button. See the onlogin handler attached to it in the sample // code below. function checkLoginState() { FB.getLoginStatus(function(response) {
var permissions = null;
FB.api('/me/permissions', { access_token: response.authResponse.accessToken, }, function(response2) { if(response2.data) { permissions = response2.data; } else { permissions = []; }
var emailPermissionGranted = false; for(var x = 0; x < permissions.length; x++) { if(permissions[x].permission === 'email' && permissions[x].status === 'granted') { emailPermissionGranted = true; } } if(emailPermissionGranted) { statusChangeCallback(response); } else { document.querySelector("#pm-login-dropdown-options-wrapper__permissions").classList.remove('u-d-none'); document.querySelector("#pm-register-dropdown-options-wrapper__permissions").classList.remove('u-d-none'); document.querySelector("#pm-login-dropdown-options-wrapper").classList.add('u-d-none'); document.querySelector("#pm-register-dropdown-options-wrapper").classList.add('u-d-none'); } }); }); } window.fbAsyncInit = function() { FB.init({ appId : 392528701662435, cookie : true, xfbml : true, version : 'v3.3' }); FB.AppEvents.logPageView(); FB.Event.subscribe('auth.login', function(response) { var permissions = null; FB.api('/me/permissions', { access_token: response.authResponse.accessToken, }, function(response2) { if(response2.data) { permissions = response2.data; } else { permissions = []; } var emailPermissionGranted = false; for(var x = 0; x < permissions.length; x++) { if(permissions[x].permission === 'email' && permissions[x].status === 'granted') { emailPermissionGranted = true; } } if(emailPermissionGranted) { statusChangeCallback(response); } else { document.querySelector("#pm-login-dropdown-options-wrapper__permissions").classList.remove('u-d-none'); document.querySelector("#pm-register-dropdown-options-wrapper__permissions").classList.remove('u-d-none'); document.querySelector("#pm-login-dropdown-options-wrapper").classList.add('u-d-none'); document.querySelector("#pm-register-dropdown-options-wrapper").classList.add('u-d-none'); } }); }); }; (function(d, s, id){ var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) {return;} js = d.createElement(s); js.id = id; js.src = "https://connect.facebook.net/en_US/sdk.js"; fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'facebook-jssdk'));