In a large stockpot over medium heat, add oil and heat until shimmering. Add onion and cook onions without browning for about 10 minutes.
Add garlic and cook until fragrant, about 30 seconds.
Add cauliflower and toss to coat all the pieces with onions and oil. Once combined and all the cauliflower is coated with oil, cover pan and cook for 5 minutes. This will allow for some browning of the cauliflower while steaming at the same time.
Stir in water, salt, pepper and lemon juice.
Bring to a boil then down to a simmer. Simmer on low heat, uncovered for 30 to 40 minutes. Puree soup in batches in a blender until smooth and return pureed soup in the stockpot.
Taste and season with additional salt and pepper.
Serve warm with an extra drizzle of olive oil and some freshly cracked pepper.