Heat the butter in a large skillet over medium-high heat. Add the shrimp in a single layer and cook on both sides until opaque in the middle, about 3 minutes. Remove to a cutting board and cut in half. Set aside.
Return the skillet to the stovetop (do not wash it) and add the garlic and onion. Stir and cook until the onion starts to turn translucent, 2 to 3 minutes. Reduce the heat to medium low. Add the rice to the skillet and cook, stirring, for a couple of minutes, taking care not to burn it. Pour in the wine and stir. Once the wine is absorbed, begin adding the broth 1/2 to 1 cup at a time, allowing the rice to cook and absorb the liquid each time. Stir occasionally as you go and add the salt and pepper during one of the broth additions. After 4 cups of broth have been absorbed, taste the rice. It should have a slight bite, but if it seems undercooked, add additional broth for the rice to absorb and cook until the risotto is to your liking.
Add both the lemon zest and juice to the risotto towards the end of cooking. Stir in the heavy cream, shrimp and basil, then serve immediately with extra lemon zest and Parmesan cheese on top.