In this paper we argue that for fuzzy unification we need a procedural and declarative semantics (as opposed to the two valued case, where declarative semantics is hidden in the requirement that unified terms are syntactically - letter by letter - identical). We present an extension of the syntactic model of unification to allow near matches, defined using a similarity relation. We work in Hájek's fuzzy logic in narrow sense. We base our semantics on a formal model of fuzzy logic programming extended by fuzzy similarities and axioms of predicate calculus with equality. Rules are many valued implications and not Horn clauses. We prove soundness and completeness of fuzzy similarity based unification.