Binary search provides an efficient O(log n) solution for searching a sorted list. It works by repeatedly dividing the search space in half and focusing on only one subdivision, based on comparing the search key to the middle element. This recursively narrows down possible locations until the key is found or the entire list has been searched. Binary search mimics traversing a binary search tree built from the sorted list, with divide-and-conquer reducing the search space at each step.