Make the Roux: In a large heavy-bottomed pot or Dutch oven, heat oil over medium heat. Gradually whisk in flour to form a roux. Cook, stirring constantly, for 15–20 minutes until the roux is a deep brown color, similar to chocolate.
Cook Vegetables: Add onions, bell peppers, and celery (the “holy trinity” of Cajun cooking) to the roux. Sauté for 5–6 minutes until softened. Add garlic and cook 1 minute.
Add Sausage and Stock: Stir in sliced sausage and cook for 3–4 minutes. Gradually add stock while stirring to avoid lumps.
Season and Simmer: Add diced tomatoes (if using), Cajun seasoning, smoked paprika, thyme, bay leaves, cayenne, salt, and black pepper. Bring to a boil, then reduce heat and simmer uncovered for 30 minutes, stirring occasionally.
Add Shrimp: Stir in shrimp and simmer for 5–7 minutes until shrimp are cooked through and pink.
Adjust Seasoning: Taste and adjust seasoning as needed. Remove bay leaves before serving.
Serve: Serve gumbo over cooked white rice. Garnish with fresh parsley and optional hot sauce.