Fresh cauliflower is so cheap right now that they're practically being given away but, if you must, you can use frozen cauliflower florets for this soup – you'll want about 6 cups. You can also use store-bought piri piri sauce, but why buy something that's so easy to make? Piri Piri peppers are practically impossible to find, but a combination of jalapeño and habanero makes a nice stand-in. This sauce is hot, so let each diner add their own. A drizzle is all that you'll need – I used about a quarter teaspoon in mine.
Melt the butter in a large stockpot set over medium heat. Add the onion and cook, stirring occasionally, until softened but not browned – about 5 minutes. Add the garlic and cauliflower and cook another 10 minutes.
Add the stock, water, and bay leave. Bring to a boil, then reduce head and simmer uncovered for 30 minutes or until the cauliflower is very soft.
While the soup simmers, prepare the piri piri shrimp: Heat the olive oil in a large
skillet. Add the peppers, onion, and paprika; cook 10 minutes or until very soft. Transfer to a blender. Add the water, vinegar, and lemon juice; blend until smooth. Transfer 1/2 cup sauce to a large skillet; add the shrimp and cook over medium heat until sauce is reduced and shrimp is coked through – 10-12 minutes. Cover the remaining sauce and let sit until ready to serve.
Transfer the soup to a blender or food processor; puree until smooth. Return to pot and stir in evaporated milk. For a smoother soup, blend it further with an immersion blender. Serve the soup topped with shrimp and a drizzle of the reserved piri piri sauce.