In a large ziplock bag, add 1 Tbsp olive oil, lime juice, 1 Tbsp garlic, coriander, cumin, mustard, turmeric, and garam masala. Add shrimp to bag and toss to cover in marinade. Let shrimp marinate while you cook rice (shrimp should marinate for at least 30 minutes and up to 2 hours).
Pre-heat oven to 350 degrees and add remaining 2 Tbsp olive oil to a dutch oven or large pot over medium heat.
Add cinnamon stick, bay leaf, and cloves and cook until fragrant, about 2 minutes.
Add chopped onion and cook for another 4 minutes, stirring occasionally, until starting to brown.
Add remaining 1 Tbsp garlic and ginger to the pot and sauté for 1 minute. Add in 3 cups of water and bring to a boil.
Add rice, pinch of salt, and 1 Tbsp butter. Bring to a boil, cover pot, and place in oven for 20 minutes.
Add shrimp to a large wok or skillet with remaining 1 Tbsp butter over medium heat. Sauté about 2-3 minutes per side, until just cooked through. Sprinkle cilantro over shrimp.
Remove rice from oven and mix in peas.
Serve rice in bowls and top with shrimp and additional cilantro if desired.