Heat butter in a large soup pot over medium heat. Add chopped onions and cook until soft (about 7 minutes), stirring frequently.
Add in minced garlic, stirring until fragrant (about 1 minute).
Add tomatoes with the juice, chicken broth, salt and pepper. Stir to combine. Bring to a gentle simmer for 20 minutes stirring occasionally.
Remove from heat. Using an immersion blender, carefully puree tomato mixture. If you don't have an immersion blender you can use a regular blender by pouring small bataches and blending slowly. (Caution with hot liquids, hold down lid on blender pitcher while blending). Return liquid to pot and stir well.
Place pot back on stove burner over medium heat. Add in carrots, green beans, cauliflower florets and milk. Stir to combine. Simmer uncovered for 25 minutes, stirring occasionally.
In a separate pot cook pasta* as instructed on package.
Ladle soup into bowls. Add in desired amount of pasta and top with parmesan cheese and basil.
*Any small type pasta will work with this soup. A few favorite pastas we love for soup include, Alphabet, Elbows, Mini Farfalle, Shells, Wagon Wheels or Orzo just to name a few!