You can also consider going through Sweden and taking the boat from Stockholm to Helsinki.
Prices in English websites are relatively higher (don't ask me why), so try google translate with Finnish websites to get a better deal, perhaps it would be same with Swedish too.
There are 2 ferries operating that route, viking lines and silja lines. Same companies also operates Tallinn - Helsinki route.
From Germany, Travemunde-Helsinki seems to be only option with Finnlines and it is really expensive, I agree.