In the action bar we have create section, I want to get rid of opportunity link in the create section with out taking away create opportunity access. I want a certain roles still have access to create opportunity from a lead or contact record but not from create section.
However, if your goal is to make sure that new opportunities can only be created from contact or lead record, you probably want to ensure that the primary contact is populated (just guessing). You could put validation expressions in Primary Contact ID field:
[<KeyContactId>] <> "No Match Row Id"