The way to get the cheapest deal on your mobile phone is to wait until just before your contract is due to end.
Call your network provider and haggle hard to get a better tariff. If they won't give you one, threaten to leave and they will put you through to a department they tell us is called "customer disconnections" - but is known internally as customer retentions. They have a much greater discretion to keep you and will often allow your haggling to work.
And now is a brilliant time to do this because T Mobile has a not-very-well publicised super sim-only deal: for £30 per month, it will give you 1,400 free minutes to call any mobile phone or landline, and unlimited texts.
This is a great weapon on your haggling arsenal. Whichever network you are calling, including T Mobile itself, tell them you have spotted that deal and that you want them to match it or beat it. If not, maybe consider ditching and leaving them.