Cook bacon in a large skillet until crisp; remove bacon, and drain on paper towels, reserving 2 tablespoons drippings in skillet. Crumble bacon, and set aside.
Saut onion and garlic in hot drippings 5 minutes or until tender. Stir in corn; cook 5 to 7 minutes or until golden.
Remove from heat.
Cook flour in a large clean skillet over medium heat, stirring occasionally, about 5 minutes or until golden. Gradually whisk in half-and-half until smooth.
Add corn mixture, salt, and pepper; cook 5 minutes or until thickened.
Remove from heat; stir in butter and basil.
Sprinkle each serving with bacon, and garnish, if desired.