Here's a reduction to the finite dimensional case. Let F be a finite set of subspaces of X. For each finite dimensional subspace Y of X, let u(Y) be the set of elements Z of F such that Y is contained in Z. By assumption, u(Y) is non-empty for every Y. Since any two finite dimensional subspaces are contained in a third, the intersection of the sets u(Y), as Y runs among all finite dimensional subspaces of X, is non-empty. Hence there is at least one set in F that contains every finite dimensional subspace of X, hence contains X.
For the finite dimensional case, let F be a finite set of subspaces of X. By induction, every codimension 1 subspace of X is contained in some Y from F. But there are infinitely many codimension 1 subspaces, so some Y in F contains more than one such subspace. Any two distinct codimension 1 subspaces span X (if dim X > 1) so Y = X.