Zlatan Ibrahimovic rescued a point for Sweden with a late goal against Italy at the Dragao stadium in Porto.
The Ajax forward struck five minutes from time to earn his side a draw and punish the Italians, who missed numerous chances after Antonio Cassano had given them a first-half lead.
The draw gives Sweden four points - they destroyed Bulgaria 5-0 in their Euro 2004 opener.
Denmark also have four points after beating the Bulgarians, while Italy are third with two points and now have to win their last game which will not necessarily guarantee them a place in the quarter-finals.
Italy - playing without Francesco Totti, who was banned for three games by UEFA for spitting at a Danish opponent - played with a sense of urgency from the kick-off.
Veteran coach Giovanni Trapattoni had clearly instructed his players to attack down the wings with full-backs Gianluca Zambrotta and Christian Panucci repeatedly making runs and crossing into the danger area for Christian Vieri.
But the Inter Milan hitman headed a series of chances wide.
Totti watched nervously from the stands as the match got under way. Sweden had talked all week about the importance of making a good start but it was Italy that proved more dangerous in the opening minutes.
With seven minutes played, Italy came close to taking the lead. Midfielder Simone Perrota's shot was saved by goalkeeper Andreas Isaksson.
In the 13th minute, the Swedes responded and Ajax striker Zlatan Ibrahimovic easily found his way past three Italian defenders but his close-range shot flew over.
Five minutes later, Vieri missed a golden opportunity to give his side the lead.
A fantastic cross from the right by Cassano found an unmarked Vieri inside the box but his header was too high.
Shortly after, Italy had yet another opportunity after defender Zambrotta ran down to the touchline and fired over a perfect cross the but Alessandro Del Piero shot inches wide.
Italy continued to press forward with Sweden happy to defend and hit them on the counter-attack.
Midway through the first half, Ljungberg almost caught the Italians out.
The Arsenal star shook off three defenders and raced into the box but Gianluigi Buffon came off his line to make a crucial save.
With 28 minutes gone, Del Piero's 21-yard shot looked goalbound but took a deflection much to the relief of the Swedish fans.
Four minutes later, Vieri headed high following Zambrotta's cross.
Sweden could not hold on much longer and with 37 minutes gone Italy were finally rewarded for all their hard work.
Panucci crossed from the right and an unmarked Cassano crouched down to head home.
Seven minutes before the break, Gattuso was shown the first yellow card of the game after a late tackle and will miss the next game against Bulgaria.
Fabio Cannavaro was booked after a harsh tackle on Ibrahimovic and the Azzurri captain will miss the next game.
Italy also started the second half brightly and Vieri could have increased his team's advantage but his powerful strike went wide of Isaksson's far post.
Sweden made their first substitution in the 55th minute with Anders Svensson being replaced by midfielder Kim Kallstrom.
Two minutes later, Andreas Jakobsson denied Italy their second of the evening after making a vital clearance off the line.
Vieri's long pass found Del Piero inside the area, and he scooped the ball over the defender and the goalkeeper, who had come off his line but his shot was cleared by the Brondby defender.
Sweden brought on forward Mattias Jonson in place of defender Christian Wilhelmsson in an attempt to give their team more power in attack.
Trappattoni surprised all by taking off goalscorer Cassano and bringing on midfielder Stefano Fiore. The young Cassano received a warm ovation as he left the pitch.
In the 72nd minute, Cannavaro nearly scored in his own net after a clearing a dangerous cross from Jakobsson.
Tobias Linderoth was booked for a foul on Gattuso and will miss the next game against Denmark.
Seconds later, the AC Milan midfielder left the pitch with veteran defender Giuseppe Favalli coming on.
With 77 minutes played, Larsson beat two defenders and found Jonson with a fine pass but his shot from 12 yards was well saved by Buffon.
Minutes later, Jonson again came close to an equaliser when he headed over the crossbar.
Italy made their last substitution with nine minutes remaining with Mauro Camoranesi replacing Del Piero.
Just when Italy thought they had the win secure, Sweden equalised with five minutes remaining.
Facing away from goal, Ibrahimovic scored with the outside of his right heel during a mad goalmouth scramble with Buffon unable to save it.
Vieri's attempts to clear it proved futile. The Azzurri tried to make a comeback and with seconds remaining Italy had two chances but an unmarked Vieri twice headed high.
Teams
Italy Buffon, Panucci, Nesta, Cannavaro, Zambrotta,
Gattuso (Favalli 76), Pirlo, Perrotta, Cassano (Fiore 70),
Vieri, Del Piero (Camoranesi 82).
Subs Not Used: Peruzzi, Toldo, Corradi, Di Vaio, Ferrari,
Materazzi, Oddo, Zanetti.
Booked: Gattuso, Cannavaro, Zambrotta.
Goals: Cassano 37.
Sweden Isaksson, Nilsson, Mellberg, Jakobsson,
Edman (Allback 77), Wilhelmsson (Jonson 67), Linderoth,
Svensson (Kallstrom 55), Ljungberg, Larsson, Ibrahimovic.
Subs Not Used: Kihlstedt, Hedman, Andersson, Farnerud, Hansson,
Lucic, Mjallby, Ostlund, Wahlstedt.
Booked: Edman, Linderoth.
Goals: Ibrahimovic 85.
Att: 44,926
Ref: Urs Meier (Switzerland).