Preheat the oven to 350 degrees F. Place the onion on a large piece of aluminum foil. Drizzle the onion with 2 tablespoons of the olive oil and season with salt and pepper. Wrap the onion tightly in the foil and roast until tender and lightly golden brown, about 50 minutes to 1 hour. Cool slightly. When cool enough to handle, slice and set aside.
In a pot of boiling, salted water, blanch the green beans until they are slightly tender, but still have a slight crunch. Drain and immediately shock in an ice water bath to stop the cooking. Drain and place in a large bowl.
In a saute pan, cook the bacon until the fat is rendered and the bacon is crispy. With a slotted spoon, add the bacon to the green beans. Add the warm, sliced onions and season with salt and pepper. Toss well and serve.