There's always drama in the Old Firm derby, and Sunday afternoon's didn't disappoint, with passion, goals, and red cards galore.
The final few minutes were the most exciting, with Rangers on the verge of a historic victory at Celtic Park. Celtic pushed for an equaliser from a corner, but Alfredo Morelos broke on the counter down the other end and went down in the box.
However, the referee deemed he had dived, and gave him his marching orders after brandishing a second yellow card. The Rangers touchline erupted in anger, and first-team coach Michael Beale was also sent off soon after.
There were only supposed to be four minutes of added time, but all the drama meant it went on for much longer, especially as Morelos took his time leaving the field.
When the referee finally blew his whistle for full time, Rangers boss Steven Gerrard exploded with a mixture of relief and joy, loudly celebrating with his staff and even yelling straight into the TV camera.
It was Rangers' first win at Celtic Park in nine years, and they are now only two points behind their fierce rivals at the top of the Scottish Premiership, and they have a game in hand.
Rangers boss Steven Gerrard told Sky Sports: 'It's a big win. This club hasn't had much success and joy here for a long time and you have to obviously think about everything that's been said in the build-up about Celtic, the run they're on, the form they're in.
'We've come here and faced a real big challenge and again we've dominated the majority of the game, so my players deserve an awful lot of credit.
'We've come here today and we fancied it. We've been really strong, we have the best away form in the league now.
'We took the game to Celtic for 35 minutes and dominated them again. They had a few moments from 35 to 45 where we had to hang in. But then in the second half we had some really good passages of play and I don't think anyone can take that victory away from us.'
Ryan Kent opened the scoring for the visitors before Odsonne Eduoard leveled just before half-time.
Nikola Katic then restored Rangers' lead in the second half, making for an exciting finish.
It ended up being yet another red card for Alfredo Morelos, his second of the season and fourth since arriving at Rangers.
However, fans often forgive him for his poor disciplinary record thanks to his goals. He's scored 12 in 17 games so far this season, and has 76 from his 125 Rangers appearances.
The red card caused a scuffle on the sidelines, as Beale angrily reacted to the red card before being sent off himself by referee Kevin Clancy.
However, that was all forgotten moments later when full time came and the away section started wildly celebrating, led by their manager.