Clean and dry the poblano chiles. Places them on a cookie sheet covered in foil. Place under the broiler for 5 minutes. Turn the chiles over and broil for another 5 minutes. Chiles should be roasted with black skin. Remove from the oven and place the chiles in a sealable plastic bag. Set aside
In a large saucepan heat the olive oil and butter over medium heat. Add the onions and cook for about 2 minutes until softened. Add the garlic and cilantro, cook an additional 30 seconds.
Add the flour to the saucepan and stir to coat the veggies. Cook for about 2-3 minutes. Then add the chicken broth, cream, milk, salt and pepper. Bring to a low simmer.
Once the chiles have cooled to the touch, remove from the plastic bag. Cut off the top, remove the seeds, and then remove the skin. (I found it easiest to use a paring knife to remove the skin)
Set two of the chiles aside for the chile relleno topping. Dice up the other 4 chiles and add to the soup. Allow the soup to continue simmering approximately 15-20 minutes.
While the soup simmers make the chile relleno topping. Slice the remaining chiles in half (should already have the seeds and skin removed). This will give you four large pieces of chile.
Set up two small bowls. Using the two eggs separate so that whites are in one bowl and yolks are in the second bowl. Beat the egg whites for about a minute and add the 2 tablespoons of flour. In the other bowl beat the egg yolks. Set up a small frying pan and heat the cooking oil over medium heat. Dip one of the chile slices into the egg yolk, then into the egg white/flour mixture. Add to the cooking oil and fry on each side about 1-2 minutes until golden. Repeat with the other chile slice.
Just before serving the soup, add 1/2 cup of shredded Jack cheese and stir until completely melted. Serve the soup into bowls, top with the chile relleno and extra shredded jack cheese. You can place the bowls under the broiler if desired to melt the cheese on top, however, this step is not required.