Synchronizing clocks in distributed systems is well-understood, both in terms of fault-tolerance in fully connected systems, and the optimal achievable local skew in general fault-free networks. However, so far nothing non-trivial is known about the local skew that can be achieved in non-fully-connected topologies even under a single Byzantine fault. In this work, we show that asymptotically optimal local skew can be achieved in the presence of Byzantine faults. Our approach combines the Lynch-Welch algorithm  for synchronizing a clique of n nodes with up to f < n/3 Byzantine faults, and the gradient clock synchronization (GCS) algorithm by Lenzen et al.  in order to render the latter resilient to faults. This is not possible on general graphs, so we augment an arbitrary input graph G by replacing each node with a fully connected cluster of 3f + 1 copies, and execute an instance of the Lynch-Welch algorithm within each cluster. We interpret the clusters as supernodes executing the GCS algorithm on G, where each node in the cluster maintains an estimate of the logical clock of its supernode. By also fully connecting clusters corresponding to neighbors in G, supernodes maintain estimates of neighboring clusters' logical clocks. We achieve asymptotically optimal local skew, assuming that no cluster contains more than f faulty nodes. This construction yields factors of O(f) and O(f2) overheads in terms of nodes and edges, respectively. Since tolerating f faulty neighbors trivially requires degrees larger than f , these overheads are asymptotically optimal.