CafePress is expensive because (despite the 'co'uk' web address) it's US based.
Asda will print your own design onto a white T-shirt (Adult sizes S, M, L & XL only) for £7, either in-store or online:
http://www.asda-photo...election.aspx#pid=310
Tesco charge £7.97 for a printed children's T-shirt or £9.97 for either 'Ladies' or 'Unisex':
http://www.tescophoto...lised_photo_t_shirts#
Most online photo printing and gallery services also print T-shirt. e.g. Photobox:
http://www.photobox.c...sories/photo-t-shirts
VistaPrint are currently very cheap, at £4.89. (When you click on the link you'll need to select the first design option offered if you don't want to use one of their templates. You'll also need to have your image ready for uploading):
http://tinyurl.com/3b3gcot
Chris