Heat plant-butter + oil in a large pan with high sides over medium.
Once butter melts, add enough onions for one layer. Lightly salt + toss in oil. Cook until softened, 1-2 min.
Add another layer of onions on top, with pinch of salt, cooking until soft, 1-2 min. Repeat step until all onions are incorporated.
Continue cooking until they are a nice golden brown, about 30 min. If pan starts to burn/crisp, add a touch of water to deglaze. Meanwhile, start soup.
SOUP
Heat oil in large sauce pan over med-high. Add leek, onion + garlic. Cook, stirring for 7 minutes or until softened.
Add cauliflower + stock, turn to high heat, and bring to boil. Reduce heat to medium, letting it simmer for 10 minutes, or until cauliflower softens.
Remove garlic, smash on cutting board with spatula and stir back into soup. Add tofu, 1 tsp each of salt + pepper.
Using an immersion blender or high-speed blender, and blend until smooth.