Cut bacon into small bits. Cook in a large soup pot until crispy. Remove bacon with a slotted spoon and set aside. Keep bacon grease in pot.
Add diced onion. Cook over medium heat until onion is soft. Add garlic and continue cooking for another 2 minutes.
Add one cup of chicken broth. Stir and try to stir all brown bits on bottom of pan into the broth. Add remaining broth.
Add carrots and celery and can of tomatoes with juice.
Drain and rinse beans. Add to pot.
Add salt, pepper and bay leaf.
Bring to a simmer and cook over low heat for 30-40 minutes until carrots are cooked through.
Add pasta. Continue simmering for 8-10 minutes until pasta is cooked through. Taste soup and add additional salt and pepper as needed. Remove bay leaf.
Topping
Dish up soup and sprinkle on a small amount of Parmesan cheese, bacon bits and fresh parsley.
Notes
I used white beans, but you could also use kidney beans, garbanzo beans or really almost any kind of bean.