Bring a large pot of salted water to a boil. Add the green beans and cook until crisp-tender, about 4-5 minutes. Drain and set aside.
In a large skillet, cook the bacon over medium heat until crispy. Remove the bacon from the pan and set aside on a paper towel-lined plate.
Discard all but 1 tablespoon of the bacon grease from the skillet. Add the onion to the skillet and cook until softened, about 5 minutes. Add the garlic and cook for an additional 30 seconds.
Add the heavy cream to the skillet and bring to a simmer. Cook for 2-3 minutes or until slightly thickened.
Remove the skillet from the heat and stir in the parmesan cheese until melted and smooth. Season with salt and pepper to taste.
Add the cooked green beans to the skillet and toss to coat in the sauce. Cook for an additional 2-3 minutes or until heated through.
Sprinkle the reserved bacon over the top of the green beans. Serve immediately.