Allsvenskan's round 28 reshaped the title race, European places and relegation battle. Wins for Kalmar, Halmstad and AIK were among the results, while Mjallby secured safety.
Kalmar defeat Sirius
Kalmar beat Sirius 1-0 at home. Amara Camara scored by turning in a rebound after David Celic saved Vilmer Tyren's effort.
Sirius had 70% possession after the break and 20 shots in total, but Samuel Brolin made two second-half saves. Sirius have one win and three defeats in four matches, while their plus-23 goal difference is 14 goals worse than Hammarby's.
The result left Hammarby top of the table on goal difference with two rounds to play. Kalmar are six points clear of the drop zone with six points still available.
Halmstad and AIK collect wins
Halmstad beat Djurgarden, leaving Halmstad level on points with Degerfors and Orgryte and Djurgarden six points behind the top two.
Omar Faraj put Halmstad ahead by scoring from a rebound, Jeppe Okkels equalised for Djurgarden, and Marvin Illary scored Halmstad's winning goal.
AIK beat Hacken, ending Hacken's eight-match unbeaten run in the league. AIK moved up to eighth place with their first win in three matches.
Mjallby confirmed safe
Mjallby were confirmed as safe after Degerfors and Orgryte failed to win, with Mjallby and Brommapojkarna playing out a goalless draw.
Brommapojkarna had seven shots on goal to Mjallby's one and have gone three matches without scoring.
Goteborg and Malmo draw
Goteborg and Malmo drew in Gothenburg. Goteborg are 10th after drawing four and losing one of their last five matches, while Malmo have won one of their last five matches.

