Place basmati rice in a large bowl and cover with warm water. Set aside. Wash heads of garlic. Set aside.
Heat vegetable oil in a dutch oven or large skillet over high heat until smoking, then add lamb, turning occasionally until the lamb is evenly browned, about 10 minutes. Stir in the onions; cook and stir until the onion has softened and browned, about 10 minutes. Stir in the carrots; cook and stir until the carrots have softened, about 10 minutes. Sprinkle with cumin, coriander, barberries, and peppercorns. Drop whole garlic heads into the mixture, stirring to evenly distribute ingredients. Reduce heat to medium. Cover and cook for 30 minutes.
Wash and drain basmati rice with hot water. Pour cleaned rice over the lamb mixture in an even layer. Slowly pour in the boiling water. The rice should be covered with about 3/4 inch of water. Do not stir. Season with salt, and reduce heat to medium-low. Cover and cook until rice is tender, and the liquid has been absorbed, about 20 minutes. Stir rice and lamb together, and serve with the garlic heads on top.