In a large pot, gently fry the bacon until the fat starts to render.
Add the olive oil and onion. Fry the onion until it starts to soften.
Add the garlic, carrot and celery.
Continue to fry until the vegetables start to soften.
Add the chicken stock and bay leaf.
Bring the stock to the boil, then reduce to a simmer.
Add the beans, tomatoes and pasta.
Crush the tomatoes into the soup with the back of a spoon.
Continue to simmer until the pasta is cooked.
Season to taste with salt and pepper.
Serve in warm bowls with grated Parmesan.