Start by cooking the bacon in a large pot over medium-high heat until crispy, about 6 minutes. Remove the bacon and set it aside on a paper towel to drain, then crumble it once cooled. Leave about 1 tablespoon of bacon fat in the pot—this adds incredible flavor to the chowder base. While the bacon cooks, mince the garlic cloves, chop the green onions (keeping white and green parts separate), and dice the celery stalks.
Add the butter to the pot with the reserved bacon fat and melt over medium heat. Add the white parts of the green onions and diced celery, cooking for 3 minutes until softened. Stir in the minced garlic, salt, and pepper, cooking for just 30 seconds to release the garlic's flavor without burning it. This short timing prevents the garlic from turning bitter—I always watch carefully at this stage to get that perfect fragrant moment.
Sprinkle the flour over the aromatic mixture and stir constantly for 1 minute to cook out the raw flour taste and create a light roux. Gradually pour in the milk while stirring to avoid lumps, then add the corn and creamed corn. Stir in the cayenne pepper and smoked paprika for warmth and depth. Bring the mixture to a gentle boil and cook for about 5 minutes, stirring occasionally, until the chowder thickens slightly.
Add the shrimp to the pot and cook for 2-3 minutes, stirring gently, until they turn pink and are just cooked through—don't overcook or they'll become tough. Stir in the thyme and half-and-half, cooking for another minute until everything is heated through. I love how the half-and-half creates that luxurious, silky texture that makes this chowder feel restaurant-quality.
Ladle the hot chowder into bowls and top each serving with the crumbled bacon from Step 1, a sprinkle of the reserved green parts of the green onions, and a drizzle of hot sauce if desired. The contrast of crispy bacon, fresh green onions, and spicy heat over the creamy chowder creates the perfect balance of flavors and textures.