Tesco is to sell the Apple iPhone with a £20 monthly contract in time for Christmas, in a move that could spark a price war on the high street.

The grocery giant is to launch the £20 a month tariff, based on a year contract, on Monday in 100 shops and online. Customers can buy the handsets for £222.

The only other places shoppers can get their hands on the phone are 02 and Orange shops. Orange’s lowest monthly tariff is £29 for an 18-month contract. Neither phone retailers offer a one-year contract.

In the New Year Vodafone will also start selling the iPhone.

Head of mobile at Tesco Lance Batchelor said the iPhone is “now affordable for all” with Tesco offering the “best deals in the UK market”.

Two million iPhones have been sold in the two years since the product was launched.