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.