Peel (optional) and chop potatoes into even chunks. Place in a large pot, cover with cold salted water, and bring to a boil.
Cook until fork-tender, about 15–20 minutes. Drain well.
Return potatoes to the pot. Add vegan butter and roasted garlic (if using). Slowly add warm plant milk, mashing until smooth and fluffy.
Season generously with salt and pepper.
In a medium saucepan, heat olive oil over medium heat. Add onion and garlic, cooking until golden, about 5 minutes.
Stir in the flour to form a roux and cook for 1–2 minutes.
Slowly whisk in vegetable broth until smooth.
Add soy sauce, thyme, and paprika. Simmer for 5–7 minutes, whisking often, until thickened.
Taste and season with salt and pepper.
