In this study we develop and calibrate a search and matching model of the German labour market and analyze the impact of recent immigration. Our model has two production sectors (manufacturing and services), two skill groups and two ethnic groups of workers (natives and immigrants). Moreover, we allow for the possibility of self-employment, endogenous price and wage setting and fiscal redistribution policy. We find that search frictions are less important for wages of the low skilled, especially in manufacturing, whereas wages of the high skilled are more sensitive to their outside opportunities. Furthermore, employment chances of immigrant workers are up to four times lower than employment chances of native workers, especially in the high skill segment. Our results show that recent immigration to Germany, including refugees, has a moderate negative effect on the welfare of low skill workers in manufacturing (-0.6%), but all other worker groups are gaining from immigration, with high skill service employees gaining the most (+4.3%). This is because the productivity of high (low) skill workers is increasing (decreasing) and there is a higher demand for services. The overall effect of recent immigration is estimated at +1.6%. Finally, we observe that productive capacities of immigrant workers are underutilized in Germany and a policy implementing equal employment opportunities can generate a welfare gain equal to +0.9% with all worker groups (weakly) gaining due to the redistribution.