The Christian Democrats (CDU) won 35.2% of the vote, or 225 seats, against 34.3% for Chancellor Gerhard Schroeder’s Social Democrats (SPD).
Mrs Merkel is unlikely to be able to form her preferred coalition and may have to join with the centre-left SPD.
Mr Schroeder said he could envisage a grand coalition of the two largest parties, but only if he was its leader.
Germany now faces days and possibly weeks of political uncertainty as the parties negotiate a coalition.