Striker Morata, recalled to the Spain squad this week, has discovered his best form but Atleti had been struggling, winless in three in all competitions heading into this match.
Espanyol looked capable of furthering its misery for 45 minutes, too, leading through Sergi Darder's strike, until Morata created the leveller for Angel Correa in first-half stoppage time.
Morata, who had earlier squandered a clear opening, himself struck early in the second period, and Koke added a late third for Diego Simeone's men to move back within a point of leader Barcelona and second-placed Real Madrid.
Morata missed a huge chance to extend his outstanding scoring streak after 16 minutes, running onto Vitolo's measured pass and lifting the ball over Diego Lopez but missing the right-hand post.
Espanyol started to forge their own opportunities at the other end, however, and Darder was clinical, pouncing on a slack exchange between Thomas Partey and Koke to lash high past Jan Oblak.
Yet Morata was influential as Atleti got back on level terms on the stroke of half-time, with the forward reaching the byline and lifting a cross onto Correa's head for a simple finish.
The VAR confirmed Morata was onside in the build-up, much to Espanyol's frustration, as Naldo - earlier substituted injured having been run ragged by Vitolo - was booked on the bench for his protests.
There was a flurry of activity at the start of the second half, with Atleti denied a penalty as David Lopez and Felipe clashed, before Morata made amends for his earlier miss, holding off a recovering defender to beat Diego Lopez with a right-footed effort.
Espanyol still might have recovered a draw, but David Lopez was penalised for a foul on Koke prior to heading beyond Oblak, although the Atleti captain appeared to have tangled with a team-mate as he clutched his face.
Instead, Koke settled matters at the end of a rapid counter-attack, controlling substitute Diego Costa's cutback and sliding low into the net.