Bois-le-Roi liegt an der Seine etwa 48 Kilometer südsüdöstlich von Paris am Wald von Fontainebleau.
Umgeben wird Bois-le-Roi von den Nachbargemeinden Chartrettes im Norden, Fontaine-le-Port im Osten, Samois-sur-Seine im Südosten, Fontainebleau im Süden und La Rochette im Nordwesten. Die Gemeinde besteht unter anderem aus den kleineren Ortschaften Brolles, Sermaize, La Cave mit der Seineschleuse, La Ruelle.