Defender Marc Bartra returned to action for the first time since being injured in the attack on Borussia Dortmund’s team bus as his side gained entry to the Champions League group stage.
Bartra, 26, had surgery on his right hand and wrist after the blast, before a Champions League tie with Monaco.
He played 90 minutes as Dortmund edged Werder Bremen 4-3 to beat Hoffenheim to third place in the Bundesliga.
Hamburg avoided a relegation play-off with a late win over Wolfsburg.
Bartra makes Dortmund return
Spain centre-back Bartra, who joined Dortmund from Barcelona last June, was the only player to receive serious injuries in the blast.
Three devices containing pieces of metal exploded shortly after Dortmund left their hotel to travel to the home leg of their quarter-final tie against the Ligue 1 side.
Police in Germany have charged a man suspected of being behind the attack. Prosecutors say he was a market trader hoping to make money if the price of shares in the team fell.
Bartra was given a rapturous reception by the Dortmund fans and his team-mates after the final whistle
Aubameyang seals Champions League qualification – and top scorer prize
Dortmund started the final day of the Bundesliga season level on points with fourth-placed Hoffenheim, knowing a victory against eighth-placed Bremen would seal third because of their superior goal difference.
They secured the three points – but it required an 89th-minute penalty from top scorer Pierre-Emerick Aubameyang to defeat an away side that had led twice.
Aubameyang, who also scored a spectacular volley to put Dortmund 2-1 ahead, was crowned the Bundesliga’s top scorer after taking his tally to 31 goals for the season.
Marco Reus also netted twice as Bremen, who scored through Zlatko Junuzovic, Fin Bartels and Max Kruse, missed out on European qualification.
Hoffenheim drew 0-0 against Augsburg to go into the Champions League play-offs in order to gain entry to the group stages.