Black: Qxf7 (if Kf8: Be7#; if Kh8: fxe8=Q# orfxe8=R#)
And with that...it's a dead draw. There is no way for either side to win, barring blunders. However, if there was no bishop (or if there was a safe way to sacrifice it) then white would win.
Even after I said the answer, people are telling different moves? To clear confusion, the answer in Bc7. Play it and give the engine 10 seconds to see it