Put tomatoes, onion, carrot, lemon rind, bay leaf, peppercorns and a good pinch of salt into a large pan. Bring to the boil and reduce liquid by a quarter by simmering. Add stock to tomato mixture, cover and simmer until tomatoes are pulpy, about 30 minutes. Rub through a sieve or liquidise with a blender.
Melt butter in pan, stir in flour. Pour tomato mixture in, blend and bring to the boil. Add orange juice to soup. Adjust seasoning, adding salt, pepper and sugar to taste. Stir in cream at last minute, followed by orange zest. Serve at once.