Petabyte-scale distributed storage systems are currently transitioning to erasure codes to achieve higher storage efficiency. Locally Repairable Codes (LRCs) form a new family of codes that are repair efficient. In particular, LRCs minimize the number of nodes participating in single node repairs and provide simple and efficient codes that can be used in practical systems. The fundamental bounds for LRCs, namely the best possible distance for a given code locality are known, but few explicit constructions exist. These prior constructions are only valid for certain code parameters. In this work, we present the first explicit construction of optimal Locally Repairable Codes, for almost all possible parameter values. Moreover, we derive a new result in Matroid theory for code analysis.