Jonny Bairstow hit a century but England were defeated in what effectively was a two-phase warm-up match against a Cricket South Africa Invitation XI at Boland Park on Saturday.

Bairstow, who hit one and nine in the first Test in December, followed by four in the first warm-up game against the same opponents on Friday, found his form in making 100 off 83 balls before retiring.

Joe Root hit 91 and Joe Denly made 85 in an England total of 346 for seven.

The Invitation XI then had a 30-over innings, chasing an agreed target of 188, which they won by four wickets off the last ball. England set the locals a second target of 85 off ten overs so that they could get some “high pressure” training. The Invitation team reached that target too, losing four wickets and getting home with two balls to spare.

England play South Africa in Cape Town on Tuesday in the first of three one-day internationals.

Brief scores: England 346-7 in 50 overs (J Bairstow 100 retired, J Root 91, J Denly 85; S Tait 4-56) lost to CSA Invitation XI 193-6 in 30 overs (target 188 in 30 overs) (J Snyman 67, K Sekhukhune 54; J Denly 2-15, M Parkinson 3-9)

Result: CSA XI won a reduced target match by 4 wickets