touch up the scratch with a cocktail stick dipped in your mini touch up paint, let it dry then put a new badge on , by the looks of it the badge will cover the scratch. you wont need a respray, take it to a body shop. they will be able to fill and polish it out as if it was new. BMW group have been know to charge for a respray and have actually done a S.M.A.R.T Repair

an airbrush and some cutting compound and some good polish can work wonders
