Preheat the broiler. Heat 4 tablespoons butter in a Dutch oven over medium-high heat. Add the onion and cook, stirring, until browned, about 4 minutes. Add the cilantro stems, 1 tablespoon garlic, the ginger and coriander. Cook, stirring, until the coriander seeds begin to pop, 30 seconds to 1 minute. Stir in the tomato paste and cook until brick red, about 30 seconds. Stir in the chopped tomatoes and cook, stirring, until juicy, about 2 minutes.
Add 3 cups water, 1 teaspoon salt and a few grinds of pepper to the pot. Cover and cook, stirring occasionally, until the tomatoes are soft, about 15 minutes. Stir in 1/2 teaspoon garam masala. Working in batches, transfer the mixture to a blender and puree until smooth. Season with salt and pepper.
Combine the remaining 1 tablespoon butter, 1 teaspoon garlic and 1/4 teaspoon garam masala in a small microwave-safe bowl; microwave until melted, 30 seconds to 1 minute. Place the naan on a baking sheet; brush with the butter and broil until golden, 2 to 3 minutes. Sprinkle with the cheese and continue broiling until melted, 30 more seconds. Fold each piece of naan, then cut each in half.
Divide the soup among bowls and top with the cilantro leaves. Serve with the naan.