Pedro Caixinha's Rangers have one last chance to defeat Celtic this season. The Gers have gone up against their city rivals a massive five times already this season but have failed to get one over on them.

The closest they've come was a 1-1 draw at Celtic Park in March, just before Caixinha took control of the team. However, the gap between the two sides looked as wide as ever just this Sunday when the two played at Hampden.

Celtic dominated the match and never looked like conceding or losing across the 90 minutes, cruising to a 2-0 win thanks to goals from Callum McGregor and Scott Sinclair.

They got at it again this weekend and the Gers know they perhaps have the best chance of any team in stopping the Hoops' incredible unbeaten season.

To do that Caixinha needs to get all his decisions right from line-up to tactics to substitutions.

Here are three changes he must make to the starting XI from Sunday's fixture...

Jon Toral in for Andy Halliday

Andy Halliday put in a woeful performance at Hampden. Brought in to add a bit of defensive steel to proceedings, his biggest contribution was a tackle on Patrick Roberts that could have easily seen him sent off.

He was eventually hooked at half-time for more attacking options and that's exactly what the Gers need this Saturday. They need to bring the game to the Hoops and show they are no pushovers. Buoyed by their home fans, they should have the initiative, at least in the early stages. We saw that at Ibrox earlier in the season after all.

As such they should bring in a more dynamic and forward thinking central midfielder and that man should be Jon Toral. The youngster has made a decent impact at the club since joining on loan in January and has the guile and vision to make something happen in the final third for Pedro Caixinha's men.

The same can certainly not be said of Halliday.

Joe Dodoo in for Joe Garner

Britain Football Soccer - Celtic v Rangers - Scottish Cup Semi Final - Hampden Park, Glasgow, Scotland - 23/4/17 Rangers' Joseph Dodoo looks dejected after the match  Action Images via Reuters / Craig Brough Livepic

Joe Garner has been a flop in a Rangers shirt, there's no two ways about it. Arriving for decent money by Scottish standards last summer, he's failed to live up to the hype, regularly found missing in matches and not even getting himself into scoring positions, never mind finishing off chances. Scoring just 8 goals this season, there's little reason to think he will add to that tally on Saturday.

Joe Dodoo has been on the verge of a Rangers start for weeks after a number of showy displays off the bench. He's made 21 appearances for the Gers but started just 3 times, last appearing from the beginning of a match way back in November.

He looked decent in the second half on Sunday and deserves his chance in front of a home crowd that would be delighted and eager to see what he can do across a 90 minutes.

Barrie McKay in for Martyn Waghorn

Like Joe Garner, Martyn Waghorn has been fairly ineffective for Rangers this season, especially in the Scottish Premiership. The 27 year old attacker has only scored 6 league goals this term and up against a strong defence on Saturday will likely be shut out again.

Benching Barrie McKay on Sunday was a popular decision by Pedro Caixinha but now the winger has had a reality check, it's time to unleash him again on the big occasion. He was by far the Gers' most effective player the last time the two teams met at Ibrox and deserves his chance to shine.

He has the pace and trickery to make something happen and would at least give supporters something to cheer about if he tries something a little bit special.