In a large, heavy pot, make a roux by combining the oil (or butter) and flour over low heat. Stir frequently until the roux becomes a dark caramel color (about 18-20 minutes) - be careful not to burn it.
Add the chopped onions, bell peppers, and celery. Cook over medium heat until the vegetables are soft (about 5-7 minutes), stirring often.
Add the garlic, Cajun seasoning, and salt. Let cook for about 30 seconds or until the garlic is fragrant.
Add the broth, diced tomatoes with their juices, and bay leaves. Stir constantly, until the mixture reaches the thickness of a gravy (about 10 minutes or so).
Add the shrimp and green onions. Continue cooking over medium heat until the shrimp turn pink and are cooked through (about 5 minutes).
Remove the bay leaves, taste, and adjust the seasoning if necessary.
Serve hot over cooked rice, garnish with more green onion, and enjoy!