In a small pot with about a cup of water, fitted with a steamer basket or wire colander, cover and steam the shrimp just until tender.
Heat the oil in a Dutch oven or wok over medium-high heat. Add the cloves, cardamom, allspice, cinnamon stick, and bay leaf and cook, stirring constantly, until toasted and fragrant and the cinnamon stick unfurls, about 30 seconds. Add the onion and cook, stirring, until lightly browned, about 3 minutes. Add the flour, stirring to incorporate, then garlic, ginger, curry powder, jalapeno, red bell pepper and cook, stirring, until golden and fragrant, about 1 minute. Add the tomato, sugar and salt.
Lower the heat under the pan; gradually stir in the broth and the milk, and simmer, stirring constantly, until the sauce begins to thicken a bit, about 5 minutes. Add shrimp, lime juice and cilantro, and heat, stirring often, to serving temperature (be sure not to heat too long or shrimp will over-cook.) Serve over basmati rice.