En una olla a fuego medio-alto, derrite la mantequilla con el aceite. Una vez que empiece a burbujear, añade la cebolla y el chile y cocina de 3 a 4 minutos, hasta que se acitronen y comiencen a dorarse.
Añade el elote y la sal y revuelve; cocina durante otros 3 minutos. Añade el epazote o el cilantro y revuelve.
Vierte el caldo de pollo y deja hervir. Tapa, reduce el fuego a bajo, y cocina de 7 a 8 minutos. Apaga el fuego.
Vierte la sopa en platos hondos y sirve caliente y ponle los cuadritos de queso encima.