Add the olive oil to a large pot over medium high heat.
When the oil is hot, add the dried thyme and onion and saute for 2 minutes, until the onions are translucent.
Add the celery and carrot and saute for 2 minutes, until the vegetables have started to soften. Add the tomatoes, stock, navy beans, garlic, and stir. Bring the soup to a boil and lower the heat to a bubbling simmer. Cover and cook for 25-35 minutes, until the vegetables are tender.
Add the chopped spinach and stir until the spinach has wilted.
Turn the heat off and stir in the lemon juice. Taste the soup, add salt and pepper if needed.
Top each bowl with about 2 tablespoons of grated parmesan and a couple of freshly chopped basil leaves.
Store the leftover in an airtight container and refrigerate for up to 3 days.