Atletico Madrid are three wins from their first La Liga title since 1996 following a tense victory over Elche.

The hosts had a penalty early in the second half but David Villa's weak kick was saved by keeper Manu Herrera.

Brazilian centre-back Miranda put them ahead 18 minutes from the end with a header from Jose Sosa's corner.

And Diego Costa wrapped up victory in injury time with a second penalty after being fouled by Cristian Sapunaru, who was sent off.

The result means that they are six points clear of Real Madrid and seven above Barcelona, although Atletico have played a game more than each of their two title rivals.

La Liga table

Played Points

Head to head and not goal difference decides teams level on points. Atletico have better record than Real, and yet to play Barcelona twice

1. Atl Madrid

34

85

2. Real Madrid

33

79

3. Barcelona

33

78

If Diego Simeone's side win their next three games - away to Valencia and Levante and at home to Malaga - they will be champions before their final-day match away to Barcelona.

It would be the first time in a decade that neither Real Madrid nor Barcelona have won the Spanish title.

And Atletico, who had won seven consecutive league matches coming into the game, looked to be feeling the pressure in the first half.

They struggled to create any real chances, and Elche had two good opportunities just before the half-hour mark.

Javier Marquez forced a sprawling save from Thibaut Courtois, who then pulled off a fantastic save moments later to keep out Sapunaru's header.

Villa, who was below-par throughout, should have given the hosts a half-time lead but he reacted too slowly to Costa's glanced header and turned the ball wide.

Just three minutes into the second half came their major opportunity to open the scoring. Sapunaru brought down half-time substitute Raul Garcia and was shown a yellow card.

Villa took the kick, because Costa has missed three penalties this season, but his effort was central and weak.

That looked like proving costly for Atletico until the 72nd minute when Miranda headed home to give them the lead.

And in injury-time the game was sealed when Sapunaru fouled Costa, who stepped up to score the penalty after Villa had been substituted earlier.

Next up for Atletico is their Champions League semi-final first leg with Chelsea on Tuesday as they continue to chase the unlikeliest of doubles.

La Liga title run-in

Atletico Madrid

Real Madrid

Barcelona

18-20 April

Ath Bilbao (H)

26-27 April

Valencia (A)

Osasuna (H)

Villarreal (A)

3-4 May

Levante (A)

Valencia (H)

Getafe (H)

7 May

Valladolid (A)

10-11 May

Malaga (H)

Celta Vigo (A)

Elche (A)

18 May

Barcelona (A)

Espanyol (H)

Atl Madrid (H)

Lineup, Bookings (7) & Substitutions (6)

Atlético Madrid

  • 13 Courtois
  • 20 Juanfran
  • 03 Filipe Luis
  • 14 Gabi
  • 23 Miranda
  • 02 Godín
  • 07 Adrián (Raúl García - 45' Booked )
  • 05 Tiago
  • 09 Villa (Sosa - 62' )
  • 19 Diego Costa Booked
  • 06 Koke (Diego - 57' )

Substitutes

  • 01 Aranzubia
  • 04 Suárez
  • 08 Raúl García
  • 11 Rodríguez
  • 12 Alderweireld
  • 21 Diego
  • 24 Sosa

Elche

  • 01 Herrera Yagüe
  • 02 Suárez
  • 19 Sapunaru Dismissed after an earlier booking
  • 24 Sánchez
  • 03 Botía
  • 18 Pelegrín Booked
  • 15 Gil de Pareja Vicent (Ñíguez Esclapez - 71' )
  • 05 Rivera Booked
  • 28 Herrera (Chaves de la Torre - 57' )
  • 17 Márquez (Boakye - 77' )
  • 11 Corominas Booked

Substitutes

  • 04 Rodríguez Lombán
  • 07 Ñíguez Esclapez
  • 08 Mantecón
  • 09 Boakye
  • 13 Rodríguez Martínez
  • 16 Chaves de la Torre
  • 25 Mendes Rodrigues
Ref: Carlos Clos Gómez
Att: 48,782

Match Stats

Shots

14 8

On target

4 3

Corners

7 6

Fouls

7 12

Live Text Commentary

Full time

Full Time Match ends, Atlético de Madrid 2, Elche 0.

90:00 +3:08 Full time

Full Time Second Half ends, Atlético de Madrid 2, Elche 0.

90:00 +0:22 Goal scored

Goal! Goal! Atlético de Madrid 2, Elche 0. Diego Costa (Atlético de Madrid) converts the penalty with a right footed shot to the bottom left corner.

89:15 Dismissal

Dismissal Second yellow card to Cristian Sapunaru (Elche) for a bad foul.

89:08

Penalty Atlético de Madrid. Diego Costa draws a foul in the penalty area.

89:08

Penalty conceded by Cristian Sapunaru (Elche) after a foul in the penalty area.

88:55

Attempt missed. Coro (Elche) right footed shot from the right side of the box misses to the left following a corner.

88:29

Corner, Elche. Conceded by Diego Godín.

87:26

Attempt saved. Diego Costa (Atlético de Madrid) left footed shot from the centre of the box is saved in the centre of the goal. Assisted by Diego with a through ball.

86:13

Foul by José Sosa (Atlético de Madrid).

86:13

Damián Suárez (Elche) wins a free kick in the defensive half.

84:32

Foul by Gabi (Atlético de Madrid).

84:32

Richmond Boakye (Elche) wins a free kick on the left wing.

83:00

Offside, Atlético de Madrid. José Sosa tries a through ball, but Diego Costa is caught offside.

79:35

Corner, Elche. Conceded by Tiago.

79:00

Foul by Tiago (Atlético de Madrid).

79:00

Coro (Elche) wins a free kick on the right wing.

77:12

Attempt missed. Sergio Pelegrín (Elche) header from the centre of the box misses to the right. Assisted by Damián Suárez following a set piece situation.

76:52 Substitution

Substitution Substitution, Elche. Richmond Boakye replaces Javier Márquez.

76:34

Foul by Gabi (Atlético de Madrid).

76:34

Fidel (Elche) wins a free kick on the left wing.

74:57

Offside, Atlético de Madrid. Juanfran tries a through ball, but Diego Costa is caught offside.

74:16

Attempt saved. Carlos Sánchez (Elche) header from the centre of the box is saved in the top centre of the goal. Assisted by Damián Suárez with a cross.

73:44

Corner, Elche. Conceded by Miranda.

72:41 Booking

Booking Raúl García (Atlético de Madrid) is shown the yellow card for a bad foul.

72:36

Foul by Raúl García (Atlético de Madrid).

72:36

Carlos Sánchez (Elche) wins a free kick in the defensive half.

71:02 Goal scored

Goal! Goal! Atlético de Madrid 1, Elche 0. Miranda (Atlético de Madrid) header from the centre of the box to the bottom right corner. Assisted by José Sosa with a cross following a corner.

70:41

Corner, Atlético de Madrid. Conceded by Cristian Sapunaru.

70:09 Substitution

Substitution Substitution, Elche. Aarón replaces Carles Gil.

69:08

Attempt missed. Diego (Atlético de Madrid) right footed shot from outside the box is too high. Assisted by Gabi.

67:46

Raúl García (Atlético de Madrid) wins a free kick in the defensive half.

67:46

Foul by Cristian Sapunaru (Elche).

65:15

Offside, Atlético de Madrid. José Sosa tries a through ball, but Diego Godín is caught offside.

64:31 Booking

Booking Sergio Pelegrín (Elche) is shown the yellow card for a bad foul.

64:24

Diego Costa (Atlético de Madrid) wins a free kick on the right wing.

64:24

Foul by Sergio Pelegrín (Elche).

62:38 Booking

Booking Diego Costa (Atlético de Madrid) is shown the yellow card.

62:35 Booking

Booking Alberto Rivera (Elche) is shown the yellow card for a bad foul.

62:12

Diego Costa (Atlético de Madrid) wins a free kick in the defensive half.

62:12

Foul by Alberto Rivera (Elche).

61:21

Foul by Raúl García (Atlético de Madrid).

61:21

Carles Gil (Elche) wins a free kick on the left wing.

61:07 Substitution

Substitution Substitution, Atlético de Madrid. José Sosa replaces David Villa.

59:01

Offside, Atlético de Madrid. Gabi tries a through ball, but David Villa is caught offside.

58:22

Diego (Atlético de Madrid) wins a free kick on the right wing.

58:22

Foul by Fidel (Elche).

56:40 Substitution

Substitution Substitution, Elche. Fidel replaces Cristian Herrera.

56:17 Substitution

Substitution Substitution, Atlético de Madrid. Diego replaces Koke.

56:04

Juanfran (Atlético de Madrid) wins a free kick in the defensive half.

56:04

Foul by Coro (Elche).

55:15

Offside, Atlético de Madrid. Filipe Luis tries a through ball, but David Villa is caught offside.

54:25 Booking

Booking Coro (Elche) is shown the yellow card for a bad foul.

54:12

Raúl García (Atlético de Madrid) wins a free kick on the right wing.

54:12

Foul by Coro (Elche).

53:43

Attempt blocked. Tiago (Atlético de Madrid) right footed shot from outside the box is blocked.

50:16

Attempt missed. David Villa (Atlético de Madrid) header from the centre of the box misses to the left. Assisted by Gabi with a cross following a corner.

50:00

Corner, Atlético de Madrid. Conceded by Sergio Pelegrín.

49:55

Attempt blocked. Raúl García (Atlético de Madrid) left footed shot from outside the box is blocked.

49:51

Penalty saved! David Villa (Atlético de Madrid) fails to capitalise on this great opportunity, right footed shot saved in the bottom right corner.

48:53 Booking

Booking Cristian Sapunaru (Elche) is shown the yellow card for a bad foul.

48:44

Penalty Atlético de Madrid. Raúl García draws a foul in the penalty area.

48:44

Penalty conceded by Cristian Sapunaru (Elche) after a foul in the penalty area.

48:23

Raúl García (Atlético de Madrid) wins a free kick in the attacking half.

48:23

Foul by Cristian Sapunaru (Elche).

45:45

Corner, Atlético de Madrid. Conceded by Cristian Sapunaru.

45:00

Second Half begins Atlético de Madrid 0, Elche 0.

45:00 Substitution

Substitution Substitution, Atlético de Madrid. Raúl García replaces Adrián.

45:00 Half time

Half Time First Half ends, Atlético de Madrid 0, Elche 0.

44:51

Offside, Atlético de Madrid. Gabi tries a through ball, but David Villa is caught offside.

42:16

Juanfran (Atlético de Madrid) wins a free kick in the defensive half.

42:16

Foul by Coro (Elche).

41:27

Attempt missed. David Villa (Atlético de Madrid) left footed shot from very close range is close, but misses to the left. Assisted by Diego Costa.

41:26

Attempt missed. Diego Costa (Atlético de Madrid) header from the centre of the box misses to the left. Assisted by Juanfran with a cross.

37:16

Foul by Diego Costa (Atlético de Madrid).

37:16

Sergio Pelegrín (Elche) wins a free kick in the defensive half.

36:33

Corner, Atlético de Madrid. Conceded by Coro.

35:18

Corner, Atlético de Madrid. Conceded by Damián Suárez.

31:34

Attempt missed. Carlos Sánchez (Elche) right footed shot from outside the box is close, but misses to the left. Assisted by Cristian Herrera.

30:18

Offside, Atlético de Madrid. Gabi tries a through ball, but Adrián is caught offside.

29:37

Attempt missed. Carles Gil (Elche) right footed shot from a difficult angle on the right is just a bit too high. Assisted by Coro.

28:25

Corner, Atlético de Madrid. Conceded by Sergio Pelegrín.

25:56

Attempt missed. Filipe Luis (Atlético de Madrid) left footed shot from the centre of the box misses to the left. Assisted by Adrián.

25:02

Attempt saved. Cristian Sapunaru (Elche) header from the centre of the box is saved in the bottom right corner. Assisted by Damián Suárez with a cross.

24:28

Corner, Elche. Conceded by Thibaut Courtois.

24:25

Attempt saved. Javier Márquez (Elche) left footed shot from outside the box is saved in the bottom right corner. Assisted by Carles Gil.

19:44

Offside, Atlético de Madrid. Koke tries a through ball, but Diego Costa is caught offside.

17:36

Diego Costa (Atlético de Madrid) wins a free kick on the left wing.

17:36

Foul by Alberto Botía (Elche).

14:53

Corner, Elche. Conceded by Tiago.

14:23

Corner, Elche. Conceded by Tiago.

12:38

Attempt blocked. Javier Márquez (Elche) left footed shot from outside the box is blocked. Assisted by Coro.

11:48

Attempt missed. Gabi (Atlético de Madrid) right footed shot from outside the box is close, but misses to the left. Assisted by Koke.

9:16

Corner, Atlético de Madrid. Conceded by Cristian Sapunaru.

7:42

Attempt blocked. Koke (Atlético de Madrid) right footed shot from outside the box is blocked. Assisted by David Villa.

3:45

Attempt missed. Diego Costa (Atlético de Madrid) left footed shot from a difficult angle on the left is close, but misses to the left. Assisted by Adrián.

0:27

Adrián (Atlético de Madrid) wins a free kick on the right wing.

0:27

Foul by Carlos Sánchez (Elche).

0:00

First Half begins.

0:00

Lineups are announced and players are warming up.

Live data and text provided by our data suppliers