Heat the olive oil (or ghee) in a large Dutch oven over medium-high heat. Add the diced onion and cook until translucent, about 3-4 minutes.
Stir in the minced garlic, ginger, and finely minced roma tomato. Cook for 2-3 minutes until the tomatoes soften.
Add 1/2 cup water, bring to a simmer, and cook until the water evaporates, about 10 minutes.
Add peas, carrots, potatoes, bell pepper, celery, and cauliflower to the pot. Stir well.
Sprinkle in the spices: kosher salt, cayenne pepper, black pepper, garam masala, coriander, turmeric, cumin, and cinnamon. Stir to coat the vegetables evenly with spices.
Pour in the vegetable broth and bring to a boil.
Rinse the basmati rice under cold water and add it to the pot. Stir gently.
Reduce the heat to low, cover the pot, and cook for 18-20 minutes, or until the rice is tender and the liquid is absorbed.
Turn off the heat and let the biryani sit, covered, for 5 minutes.
Fluff the rice with a fork and serve hot with cucumber raita, naan, or mango chutney.