In a large soup pot, heat the butter over medium heat. Add the onion and garlic, cook for 2-3 minutes. Add the celery, carrot, red pepper, poblano pepper, and potatoes. Add the vegetable broth and empty cobs of corn, if using, and cook until vegetables are tender. This will take about 10 minutes.
In a medium bowl, whisk together the flour and milk. Pour mixture into the soup pot. Stir. Add in the corn kernels, thyme, salt, and pepper. Let the soup simmer for 20-30 minutes on the stove.
Remove empty cobs of corn, if using, and ladle the soup into bowls. Garnish with cheddar cheese, if desired.