Prepare the green beans by snapping off the ends. If they're stringing, break off the stem end and pull down the strings it towards the pointed end.
In a pot over medium heat, bring about 4 quarts of water to a vigorous boil. Drop the green beans into the boiling water and cook for about 2 to 3 minutes or until halfway done.
Using a colander, drain the green beans and immediately plunge into a bowl of ice water. Leave in the ice bath for about 2 to 3 minutes or just until cold. Drain well.
In a wide, flat-bottomed skillet over medium-high heat, add bacon.
When the bacon begins to render fat, add onions. Cook, stirring regularly, until softened.
Discard excess bacon grease except for about 2 tablespoons. Add grape tomatoes, spreading on the surface of the pan. Cook, stirring regularly, for about 2 to 3 minutes or until tomatoes begin to blister and soften.
Add green beans and cook, stirring regularly, for about 4 to 5 minutes or until tender-crisp and completely heated.
Add red pepper flakes, if desired. Season with salt and pepper to taste. Serve hot.