Bonansa se sitúa en el pirineo aragonés, en la zona nororiental de la provincia de Huesca en la Comarca de La Ribagorza. Limita con los municipios de Laspaúles al oeste, Montanuy al norte, Pont de Suert al este, y al sur Beranuy y Sopeira. Está situado en la cuenca alta del río Noguera Ribagorzana, que sirve como frontera entre Aragón y Cataluña.
La población principal y que da nombre al municipio está situada junto al barranco de La Mola, un afluente del río Baliera. Bonansa se encuentra en la ladera de un monte entre el pirineo axial y la sierra de Sis. Su clima es de montaña, con heladas son frecuentes en invierno.
El núcleo de Bibiles se encuentra a escasos tres kilómetros de Bonansa hacia el norte, ubicado ya sobre las aguas del río Baliera. Los núcleos de Cirés, Buira y La Torre de Buira se encuentran en una de las estribaciones de la sierra de Sis, en la zona más oriental del municipio sobre la población catalana de Pont de Suert, desde donde se accede a ellos por carreteras locales. Espolla y Gabarret son dos pequeños núcleos en ruinas, deshabitados desde el éxodo rural, que se encuentran cerca de Cirés.