Heat olive oil in a large pot over medium heat. Sauté onion and garlic until fragrant.
Add carrot and celery, cooking for 5 minutes until slightly softened.
Stir in artichoke hearts, vegetable broth, thyme, red pepper flakes, salt, and black pepper. Bring to a boil, then reduce heat and simmer 15-20 minutes.
Use an immersion blender to blend the soup slightly, leaving some texture, or blend in batches for a smoother texture.
Stir in Parmesan cheese until melted and creamy.
Serve hot, garnished with fresh parsley and a squeeze of lemon juice.
