Roast the chiles over a gas flame or broiler until the skin has blackened. Put them in a bowl and cover the bowl with a lid to steam for a few minutes, then peel and seed the peppers and cut into strips.
EASIER WAY: Use canned or frozen pre-roasted green chiles. This is what I do.
In a heavy, lidded pot heat the butter or oil over medium-high heat and sauté the onions until wilted, but not browned. Add the potatoes and broth and bring to a simmer. Cook until the potatoes are tender, about 15 to 20 minutes.
Slice an "X" in the base of each Roma tomato and drop it in the soup. About a minute later, fish the tomatoes out and peel them; the "X" makes them easier to peel. Discard the skins, and diced the tomatoes, discarding the seeds.
When the potatoes are done, add the tomatoes and strips of green chile, and the milk. Let this simmer a minute or two. Put the diced cheese in everyone's bowls and ladle the soup over them. Serve with chiltepin chiles or black pepper over top, and with flour tortillas or bread alongside.