How to Make It
Make the filling: Preheat the oven to 425° and place a rack in the lower position. Line a baking sheet with parchment paper.
In a large bowl, toss the cauliflower with 2 tablespoons of oil and season with salt and pepper. Spread the cauliflower out on the baking sheet and roast for about 20 minutes, until well-browned on the bottom. Stir and roast until tender, about 10 minutes longer.
Meanwhile, in a medium pot, heat the remaining 1 tablespoon of oil over medium heat. Add the yellow onion and garlic and cook, stirring occasionally, until the vegetables have softened, about 10 minutes. Add the chile powder, cumin, coriander, oregano and allspice and cook, stirring, until fragrant, about 30 seconds. Scrape the onion and garlic into a food processor or blender. Add the tomatoes; puree, then transfer the puree to the pot. Simmer until the sauce is slightly thickened and the flavors have melded, about 20 minutes. When the sauce is ready, add the roasted cauliflower and stir to combine.
Make the tacos In a dry skillet, heat the tortillas one at a time, turning once, until fragrant and pliable, 30 seconds to 1 minute. Wrap the tortillas in a clean towel to keep warm. When all the tortillas are warm, spoon the filling into the tortillas and serve, passing white onion, cilantro leaves and cotija cheese (if using) at the table.