Sevilla keeper Bono's blunder handed Real Madrid a first win in three LaLiga games as Zinedine Zidane's men banked three hard-fought points.
Bono could only help Vinicius Junior's 55th-minute effort into his own net at the Ramon Sanchez Pijuan Stadium to allow the visitors to leave with a 1-0 victory.
Real, who lost to Shakhtar Donetsk in the Champions League in midweek, enjoyed the better of the first half but had to withstand a concerted fightback as Sevilla, beaten 4-0 at home by Chelsea on Wednesday, attempted to scrap their way back into the game.
The visitors started in determined mood with Vinicius, Casemiro and Karim Benzema all setting their sights on goal inside the opening five minutes without troubling Bono.
Toni Kroos fired just wide from distance with 21 minutes gone, while Sevilla responded when Jules Kounde met Jesus Navas' 33rd-minute cross, but could not find the target with his header.
Bono saved from both Benzema and Raphael Varane as the half-time whistle approached, but the sides remained locked together at the break.
Sevilla frontman Luuk de Jong, who had earlier headed wide, called upon Real keeper Thibaut Courtois with an acrobatic 52nd-minute strike, but the home side were behind within three minutes.
Vinicius got the merest of touches to Ferland Mendy's left-wing cross and Bono could only fumble the ball into his own net.
De Jong went close to an equaliser with a 59th-minute header and substitute Nemanja Gudelj drilled a venomous free-kick inches wide with 15 minutes remaining as the home side responded.
On-loan AC Milan midfielder Suso curled an 80th-minute effort agonisingly past the upright and Courtois denied Lucas Ocampos as time ran down, but both Kroos and Benzema might have cemented victory before the final whistle.