Melt butter over medium heat in a large pot. Cook garlic, celery, onions, carrots and rosemary until onions are softened (about 5 minutes). Add stock and potatoes. Bring to a boil. Lower heat to medium and cook with lid on for about 8 minutes to cook potatoes, stirring often.
Add tomatoes and tomato paste and stir to mix well. Cook, covered, for 5 minutes. Whisk flour into milk and stir gradually into the pot (make sure heat is at medium). Add broccoli. Cook for 5 minutes until broccoli is just done.
Add spinach and cook until just wilted, stirring often. Season with salt and pepper to taste. (You will probably not need much salt if you use prepared broth or dried broth cubes so taste it first).