1Heat the oil in a large saucepan and fry the onion, carrot, and leek over a low heat for 10 minutes, or until softened but not coloured. Add the garlic and fry for 1 minute. Add the tomatoes, tomato purée, and stock. Season to taste with salt and pepper.
3Mash half the beans with a fork and add to the pan. Bring to the boil, then lower the heat and simmer for 30 minutes.
5Add the remaining beans and spinach to the pan. Simmer for a further 30 minutes.
7Toast the bread until golden, place 2 pieces in each soup bowl, and drizzle with olive oil.
9To serve, spoon the soup into the bowls, top with a sprinkling of Parmesan, and drizzle with a little more olive oil.