Heat grill to medium-high. Brush tomatoes with oil and season with salt and pepper. Grill cut sides up, until soft and bubbly, 4 to 6 minutes; cool completely.
Heat oil in a Dutch oven or large pot over medium heat. Add garlic and onion. Season with salt and pepper. Cook, stirring occasionally, until soft, 8 to 10 minutes; remove from heat. Add tomatoes, cilantro, and vinegar. (Add up to 2 cups water, if necessary, until mixture is just soupy.) Puree in a blender, in batches if necessary, or use an immersion blender, until smooth, about 1 minute. Season with salt and pepper.
Chill at least 30 minutes and up to 2 days. Serve topped with sour cream and garnished with cilantro.