Place onions, celery, and tomatoes in a large pot; pour in enough water to just cover vegetables; bring to a boil. Reduce heat and simmer until tomatoes are tender, 20 to 30 minutes. Pour tomato mixture through a strainer or food mill, discard solids, and return liquid to the pot; stir sugar and salt into liquid.
Blend butter and flour together in a blender until smooth and creamy; add tomato juice. Blend until smooth. Pour butter mixture into liquid in the pot. Cook and stir over medium heat just until tomato soup is hot.
Sterilize the jars and lids in boiling water for at least 5 minutes. Pack the tomato soup into the hot, sterilized jars, filling the jars to within 1/4 inch of the top. Run a knife or a thin spatula around the insides of the jars after they have been filled to remove any air bubbles. Wipe the rims of the jars with a moist paper towel to remove any food residue. Top with lids, and screw on rings.
Place a rack in the bottom of a large stockpot and fill halfway with water. Bring to a boil and lower jars into the boiling water using a holder. Leave a 2-inch space between the jars. Pour in more boiling water if necessary to bring the water level to at least 1 inch above the tops of the jars. Bring the water to a rolling boil, cover the pot, and process for 20 to 30 minutes.
Remove the jars from the stockpot and place onto a cloth-covered or wood surface, several inches apart, until cool. Once cool, press the top of each lid with a finger, ensuring that the seal is tight (lid does not move up or down at all). Store in a cool, dark area, and wait at least 12 hours before opening.
Source: Read Full Article